Cách tốt nhất để tạo ra giá trị SALT trong Java dưới dạng Chuỗi dài ít nhất 32 byte?Làm thế nào để tạo ra giá trị SALT trong Java?
29
A
Trả lời
42
final Random r = new SecureRandom();
byte[] salt = new byte[32];
r.nextBytes(salt);
/** String encodedSalt = Base64.encodeBase64String(salt); */
+5
+1 nhưng có lẽ tốt nhất chỉ để lại nó là 'byte []' – Qwerky
2
Trong SpringSecurity bạn có thể sử dụng org.springframework.security.crypto.keygen.KeyGenerators
+0
Liên kết cuối cùng bị hỏng – Artem
+0
Nó đã được khắc phục ngay bây giờ. –
Một giá trị muối chỉ là một giá trị sản xuất một cách ngẫu nhiên. Bạn muốn phạm vi ký tự nào? Lưu ý: ký tự sử dụng 2 byte. Bạn có nghĩa là bạn muốn một 'byte [32] 'như một muối? –
Tôi muốn 32 byte ngẫu nhiên được mã hóa thành chuỗi như Shamim gợi ý. –