我目前正在研究我的最后一个学校项目。它是一个客户端管理系统,在登录时,我决定包含一个加密功能,以便客户端可以存储他们的凭据,而不必担心他们的密码是公开的。
我已经在网上找到了这个代码,而且,由于我还是新编程,我想知道你是否可以给我一些关于代码含义的帮助。
我知道它的作用,我只需要对它的作用进行一些解释。
以下是代码:
package Login;
import java.security.MessageDigest;
public class Encrypter {
public static void main(String[] args) {
String password = "password";
String algorithm = "SHA";
byte[] plainText = password.getBytes();
MessageDigest md = null;
try {
md = MessageDigest.getInstance(algorithm);
} catch (Exception e) {
e.printStackTrace();
}
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());
}
}