0

我有使用 jasypt(Java 简化加密)库的 java 代码:

    StandardStringDigester digester = new StandardStringDigester();
    digester.setAlgorithm("MD5");
    digester.setIterations(1);

    FixedStringSaltGenerator saltGenerator = new FixedStringSaltGenerator();
    saltGenerator.setSalt("justAnotherSalt");

    digester.setSaltGenerator(saltGenerator);
    digester.setSaltSizeBytes(5);

    String digest = digester.digest("my_password");

    System.out.println(digest);

你可以看到我使用了带盐的 MD5 算法。

控制台中的结果是:

I9uMOxDiImtxMXKXkt2EUw==

我想知道为什么结果字符串末尾有“==”字符?只有当我使用 Salt 时它才存在。

4

1 回答 1

3

StandardStringDigester.digest API 表示结果以 BASE64(默认)或 HEXADECIMAL 编码并以 ASCII String 形式返回。在您的情况下,这是 BASE64

于 2013-03-21T05:59:36.480 回答