81,094
社区成员
发帖
与我相关
我的任务
分享
private static String encryptString(String valPair, String yY_KEY1) {
byte[] ciphterText = null;
byte[] keyBytes = null;
try {
keyBytes = (new BASE64Decoder()).decodeBuffer(yY_KEY1);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
X509EncodedKeySpec spec = new X509EncodedKeySpec(keyBytes);
KeyFactory kf;
try {
Cipher cipher = Cipher.getInstance("RSA");
kf = KeyFactory.getInstance("RSA");
RSAPublicKey pubKey = (RSAPublicKey) kf.generatePublic(spec);
cipher.init(Cipher.ENCRYPT_MODE, pubKey);
byte[] valPairBytes = valPair.getBytes();
if(valPairBytes.length >= 254){
byte[] limitedBytes = new byte[254];
System.arraycopy(valPairBytes, 0, limitedBytes, 0, 254);
ciphterText = cipher.doFinal(limitedBytes);
}else{
ciphterText = cipher.doFinal(valPairBytes);
}
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvalidKeySpecException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalBlockSizeException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (BadPaddingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvalidKeyException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchPaddingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return Base64.encodeBase64String(ciphterText);
}
NodeJS解密:
if(private_key == "NA"){
private_key = new NodeRSA(fs.readFileSync(__dirname + "/key.pem"));
private_key.setOptions({encryptionScheme: 'pkcs1'});
}
var mac_address = private_key.decrypt(req.body.MACAddress, 'utf8');
var computer_name = private_key.decrypt(req.body.ComputerName, 'utf8');
console.log(mac_address);
console.log(computer_name);