前端node-rsa公钥加密 java私钥解密有没有做过的大神,求解

晓风丶残月 2017-05-18 10:28:57
前端node-rsa公钥加密 java私钥解密有没有做过的大神,找了好久,没有找到资料,求源码
...全文
448 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Eric.CHEN 2017-10-31
  • 打赏
  • 举报
回复
JAVA加密:

	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);

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧