您正在创建一个用户管理系统,该系统将保留用户个人资料及其凭据或密码。出于安全原因,您需要保护密码,为此,您可以使用MessageDigestJava API提供的密码进行加密。下面的代码示例向您展示了如何使用它的示例。
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