示例
orderId | uid | orderTime | payTime | amount | price | status |
---|---|---|---|---|---|---|
orderId1 | uid1 | 1478826671000 | 1478833871000 | 1 | 100.00 | 2 |
orderId2 | uid2 | 1478826881888 | 1478833888888 | 2 | 888.88 | 3 |
1.
[
{
"uid":"uid1",
"amount":1,
"orderTime":1478826671000,
"orderId":"orderId1",
"payTime":1478833871000,
"price":100,
"status":2
},
{
"uid":"uid2",
"amount":2,
"orderTime":1478826881888,
"orderId":"orderId2",
"payTime":1478833888888,
"price":213,
"status":3
}
]
1.
/**
* 使用AES算法对content加密
*
* @param content 待加密的内容
* @param encryptKey 加密密钥
* @return 加密后的byte[]
*/
public static String encrypt(String content, String encryptKey) {
try {
KeyGenerator kgen = KeyGenerator.getInstance("AES");
SecureRandom random = SecureRandom.getInstance("SHA1PRNG");
random.setSeed(encryptKey.getBytes());
kgen.init(128, random);
Cipher cipher = Cipher.getInstance("AES");
cipher.init(Cipher.ENCRYPT_MODE, new SecretKeySpec(kgen.generateKey().getEncoded(), "AES"));
return byteArr2HexStr(cipher.doFinal(content.getBytes("utf-8")));
} catch (Exception e) {
throw new RuntimeException(e);
}
}
/**
* 将byte数组转换为16进制值的字符串
*
* @param b 需要转换的byte数组
* @return 转换后的字符串
*/
private static String byteArr2HexStr(byte[] b) {
int length = b.length;
StringBuffer sb = new StringBuffer(length * 2);
for (int i = 0; i < length; i++) {
int temp = b[i];
while (temp < 0) {
temp = temp + 256;
}
if (temp < 16) {
sb.append("0");
}
sb.append(Integer.toString(temp, 16));
}
return sb.toString();
}
[{"uid":"uid1","amount":1,"orderTime":1478826671000,"orderId":"orderId1","payTime":1478833871000,"price":100.00},{"uid":"uid2","amount":2,"orderTime":1478826881888,"orderId":"orderId2","payTime":1478833888888,"price":213}]
11896bd6f9940b859746a40eace4cbccac23c6208bd7b93fc706afdfc65d707313618b12a1ee4baf18c9b73de825c169f0af355e3f85fc02aad4fc69c6027cc4a750789eb71274d3e49bbad65db483d1cba9e9dd5fb674cd02d1019ad31f6a4912326a639f1f2471708c88dbed0c3b01639ebf0ca6cf3734b26076a06a65615b98ffc188994261f2531d539f5b5c71742672fbc288fd608121866e493a178efe6ee880df386e03b03995b6da43c93429781d011f5459c67eefc88fa6c23e07f2f8337adbefce92f49316b90e9dfa4df4766e9e43488d5875bad81e0804713a34
修改于 2022-01-25 06:30:04