Java中的Node.js aes-256-cbc
如何在Java中实现以下Node.js函数Java中的Node.js aes-256-cbc,java,aes,cbc-mode,Java,Aes,Cbc Mode,如何在Java中实现以下Node.js函数 function encrypt(text) { var crypto = require('crypto'); var cipher = crypto.createCipher('aes-256-cbc','my-password') var crypted = cipher.update(text,'utf8','hex') crypted += cipher.final('hex'); return cry
function encrypt(text)
{
var crypto = require('crypto');
var cipher = crypto.createCipher('aes-256-cbc','my-password')
var crypted = cipher.update(text,'utf8','hex')
crypted += cipher.final('hex');
return crypted;
}
我读过crypto从密码中获取密钥和iv,但我不知道如何使用Java实现这一点
谢谢。首先,建议在AES加密中使用,这会使相同的明文在加密时看起来不同,但仅当您使用非静态IV时 有一些问题/答案对可以匹配您的搜索: Ohterwise这是我在谷歌上发现的第一件事,也许它能帮助你:
哦,这可能会帮助您解决可能的安全问题:那么,您的问题真的是使用哪个Java库来进行AES加密吗?@uvesten我使用的是javax.crypto和BouncyCastle。你知道另一个吗?为什么我的帖子被否决了?对不起,我给了你一个JavaScript示例,我现在就删除它。但是这些链接没有帮助吗?谢谢你的回答。我的问题是,我们有很多密码是通过加密生成的,因此出于兼容性原因,我们需要用Java实现相同的算法。然而,我不知道crypto是如何生成IV和salt的。它们是如何通过加密生成的?如果我知道如何生成salt,我可以使用BouncyCastle的OpenSSLPBEParametersGenerator来派生密钥和IV。salt由您使用md5或sha1生成和交付。iv也是由您生成的,这意味着如果您没有这样做,请跳过它。您可以发布一个示例吗?我想这就是您正在寻找的: