【发布时间】:2013-04-21 04:05:26
【问题描述】:
如果我这样做
int keyLength = 160; // because SHA1 generates 160-bit hashes
int iterations = 20 * 1000; //standard is 2000 but let's be more secure here
KeySpec spec = new PBEKeySpec(password.toCharArray(), generateSalt(), iterations, keyLength);
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1");
byte[] hash = keyFactory.generateSecret(spec).getEncoded();
如何将此哈希转换为字符串以便可以将其保存到 DB 中?我尝试了 new String(hash, "UTF-8");,但它给出了格式错误的字符,例如 l��0\�w�c��Q�。
【问题讨论】:
标签: java string hash bytearray