fixed DE55 length
This commit is contained in:
parent
25ba7022da
commit
13617eead1
25
app/src/test/java/com/utsmm/kbz/GeneralTest.java
Normal file
25
app/src/test/java/com/utsmm/kbz/GeneralTest.java
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
package com.utsmm.kbz;
|
||||||
|
|
||||||
|
import com.utsmyanmar.baselib.util.EReceiptHelper;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
public class GeneralTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSignGeneration() {
|
||||||
|
String timestamp = String.valueOf(System.currentTimeMillis());
|
||||||
|
String signature = generateSignature(timestamp);
|
||||||
|
|
||||||
|
System.out.println("Timestamp: " + timestamp);
|
||||||
|
System.out.println("Signature: " + signature);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String generateSignature(String timestamp) {
|
||||||
|
String secret = "y812J21lhha11OS";
|
||||||
|
String bodyString = "{}";
|
||||||
|
String dataToHash = bodyString + secret + timestamp;
|
||||||
|
return EReceiptHelper.sha256(dataToHash);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -237,7 +237,7 @@ public class EncodePackage {
|
|||||||
int varValueLen;
|
int varValueLen;
|
||||||
if(entry.getKey().equals("F055")) {
|
if(entry.getKey().equals("F055")) {
|
||||||
varValue = Utils.StrToBCDBytes(String.format("%0" + msgField.getLengthType() + "d", msgField.getDataLength() / 2));
|
varValue = Utils.StrToBCDBytes(String.format("%0" + msgField.getLengthType() + "d", msgField.getDataLength() / 2));
|
||||||
varValueLen = varValue.length + 1 ;
|
varValueLen = varValue.length ; // +1
|
||||||
} else {
|
} else {
|
||||||
varValue = (String.format("%0" + msgField.getLengthType() + "d", msgField.getDataLength()/2)).getBytes();
|
varValue = (String.format("%0" + msgField.getLengthType() + "d", msgField.getDataLength()/2)).getBytes();
|
||||||
varValueLen = varValue.length;
|
varValueLen = varValue.length;
|
||||||
@ -251,12 +251,12 @@ public class EncodePackage {
|
|||||||
|
|
||||||
|
|
||||||
if(hostName == HostName.BPC ) {
|
if(hostName == HostName.BPC ) {
|
||||||
if(msgField.getLengthType() == 4) {
|
// if(msgField.getLengthType() == 4) {
|
||||||
varValue = Utils.StrToBCDBytes(String.format("%0"+msgField.getLengthType() + "d",msgField.getDataLength()));
|
// varValue = Utils.StrToBCDBytes(String.format("%0"+msgField.getLengthType() + "d",msgField.getDataLength()));
|
||||||
} else {
|
// } else {
|
||||||
varValue = (String.format("%0" + msgField.getLengthType() + "d", msgField.getDataLength()/2)).getBytes();
|
//
|
||||||
}
|
// }
|
||||||
|
varValue = (String.format("%0" + msgField.getLengthType() + "d", msgField.getDataLength()/2)).getBytes();
|
||||||
} else {
|
} else {
|
||||||
varValue = Utils.StrToBCDBytes(String.format("%0"+msgField.getLengthType() + "d",msgField.getDataLength()));
|
varValue = Utils.StrToBCDBytes(String.format("%0"+msgField.getLengthType() + "d",msgField.getDataLength()));
|
||||||
}
|
}
|
||||||
|
|||||||
@ -108,7 +108,7 @@ public class FieldConfig {
|
|||||||
/* FLD 53 */ {2, SDK_8583_LEN_ASC, 32, SDK_8583_DATA_BCD, SDK_8583_ALIGN_L, '0'},
|
/* FLD 53 */ {2, SDK_8583_LEN_ASC, 32, SDK_8583_DATA_BCD, SDK_8583_ALIGN_L, '0'},
|
||||||
/* FLD 54 */ {3, SDK_8583_LEN_BCD, 40, SDK_8583_DATA_ASC, SDK_8583_ALIGN_L, ' '},
|
/* FLD 54 */ {3, SDK_8583_LEN_BCD, 40, SDK_8583_DATA_ASC, SDK_8583_ALIGN_L, ' '},
|
||||||
|
|
||||||
/* FLD 55 */ {3, SDK_8583_LEN_ASC, 255, SDK_8583_DATA_BIT, SDK_8583_ALIGN_L, '0'},
|
/* FLD 55 */ {2, SDK_8583_LEN_ASC, 255, SDK_8583_DATA_BIT, SDK_8583_ALIGN_L, '0'},
|
||||||
// /* FLD 55 */ {4, SDK_8583_LEN_BCD, 255, SDK_8583_DATA_BIT, SDK_8583_ALIGN_L, '0'},
|
// /* FLD 55 */ {4, SDK_8583_LEN_BCD, 255, SDK_8583_DATA_BIT, SDK_8583_ALIGN_L, '0'},
|
||||||
|
|
||||||
/* FLD 56 */ {0, SDK_8583_LEN_BCD, 12, SDK_8583_DATA_BCD, SDK_8583_ALIGN_R, '0'},
|
/* FLD 56 */ {0, SDK_8583_LEN_BCD, 12, SDK_8583_DATA_BCD, SDK_8583_ALIGN_R, '0'},
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user