2019年更新:自Bouncycastle 1.60起,Bouncycastle现在支持PBKDF2-HMAC-
SHA256
JAVA是否有PBKDF2-HMAC-SHA256的可靠实现?
我曾经使用bouncycastle进行加密,但是它不提供PBKDF2WithHmacSHA256’。
我不想自己写加密模块。
您能推荐任何其他库或算法吗(如果我可以坚持使用bouncycastle)
(以下是bouncycastle支持的算法)
http://www.bouncycastle.org/specifications.html
直接使用BouncyCastle类:
PKCS5S2ParametersGenerator gen = new PKCS5S2ParametersGenerator(new SHA256Digest());
gen.init("password".getBytes("UTF-8"), "salt".getBytes(), 4096);
byte[] dk = ((KeyParameter) gen.generateDerivedParameters(256)).getKey();
2019年更新:自Bouncycastle 1.60起,Bouncycastle现在支持PBKDF2-HMAC-SHA256 PBKDF2-HMAC-SHA256对于Java是否有可靠的实现? (以下是bouncycastle支持的算法)http://www.bouncycastle.org/specifications.html
我正在进行一个Java项目,我必须确保用户密码保存在明文文件中的保密性和完整性。 为此,我将只在文件中写入密码的散列。更具体地说,我的意图是编写密码和随机salt的散列,再加上随机salt本身,以避免使用rainbow和lookup表。我还想使用PBKDF2进行键拉伸,以使散列的计算变得昂贵。最后,我想使用键控哈希算法HMAC作为最后一层保护。 我试图在Java代码中实现我的想法,我找到了上面介绍
PHP代码段 获得一个编码字符串,其值为: PYTHON代码段 获得此值 <代码>8A85743F3B1704096B3FE5018DE2FF133EB2BAC63C93FA8FF26CCA328AB83E39 我从python得到的值与php的值有很大的不同,我的意思是,它几乎像十六进制,而php代码中的值是不同的。 谁能帮忙把这个php代码片段转换成python,这样我就可以得到几乎相似的值。
问题内容: 我有一个运行一些Java代码的tomcat服务器,该代码允许用户使用API密钥进行身份验证。该请求使用使用SHA256创建的HMAC。我有一个用于请求的Ruby客户端,由于我是加密新手,因此很难获取它来生成匹配的HMAC。我试过不使其URL安全,并且匹配。因此,我真的很想知道如何才能使Ruby客户端与URL安全版本匹配(因为我无法更改Java代码)。最后只是一个多余的=字符。在此先