无法理解加密代码段

时间:2017-06-19 13:47:26

标签: java hash cryptography

我目前正在研究我的最后一个学校项目。它是一个客户端管理系统,在登录时,我决定包含一个加密功能,以便客户端可以存储他们的凭据,而不必担心他们的密码是公开的。

我已经在网上找到了这个代码,而且,由于我还是新编程,我想知道你是否可以给我一些关于代码含义的帮助。

我知道它的作用,我只需要对它的作用进行一些解释。

以下是代码:

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());
    }
}

0 个答案:

没有答案