【发布时间】:2018-02-06 20:14:40
【问题描述】:
Bouncy Castle SCrypt Java API.
byte[] sCryptHash = SCrypt.generate(plaintextPassword.getBytes(), salt.getBytes(), 16384, 8, 1, 1024);
String str = sCryptHash.toString();
上面的 generate 方法给出了byte[ ] 的格式,我需要将它作为一个字符串存储在数据库中,
toString() 不利于比较,我预计 toString() 会出现一些字符问题。
有没有办法安全地将其转换为字符串?
充气城堡的其他替代品?
【问题讨论】:
-
new String(sCryptHash);应该可以工作。因为它是一个普通的字节数组。或者如果您需要十六进制表示,您可以使用org.bouncycastle.util.encoders.Hex.toHexString(sCryptHash) -
嘿 Jens 有帮助,你能把它作为答案,以便它可以标记为已解决。
-
已经完成了。 ..
-
新字符串(sCryptHash);这会给出不可读的字符。 org.bouncycastle.util.encoders.Hex.toHexString(sCryptHash) 帮助
标签: java arrays cryptography bouncycastle scrypt