Java如何创建密码的加密字符串?
您正在创建一个用户管理系统,该系统将保留用户个人资料及其凭据或密码。出于安全原因,您需要保护密码,为此,您可以使用MessageDigestJavaAPI提供的密码进行加密。下面的代码示例向您展示了如何使用它的示例。
package org.nhooo.example.security; import java.security.MessageDigest; public class EncryptExample { public static void main(String[] args) { String password = "secret"; String algorithm = "SHA"; byte[] plainText = password.getBytes(); try { MessageDigest md = MessageDigest.getInstance(algorithm); md.reset(); md.update(plainText); byte[] encodedPassword = md.digest(); StringBuilder sb = new StringBuilder(); for (int i = 0; i < encodedPassword.length; i++) { if ((encodedPassword[i] & 0xff) < 0x10) { sb.append("0"); } sb.append(Long.toString(encodedPassword[i] & 0xff, 16)); } System.out.println("Plain : " + password); System.out.println("Encrypted: " + sb.toString()); } catch (Exception e) { e.printStackTrace(); } } }
这是我们的加密密码示例:
Plain : secret Encrypted: e5e9fa1ba31ecd1ae84f75caaa474f3a663f05f4