diff --git a/src/main/java/xyz/zhouxy/plusone/commons/security/Hashers.java b/src/main/java/xyz/zhouxy/plusone/commons/security/Hashers.java new file mode 100644 index 0000000..adff3c3 --- /dev/null +++ b/src/main/java/xyz/zhouxy/plusone/commons/security/Hashers.java @@ -0,0 +1,60 @@ +package xyz.zhouxy.plusone.commons.security; + +import com.google.common.hash.Hasher; +import com.google.common.hash.Hashing; + +/** + *

+ * 使用摘要算法推荐使用 guava 的 hash 包。 + *

+ *

+ * 密码加密推荐使用 {@link org.mindrot.jbcrypt.BCrypt}。 + *

+ */ +public class Hashers { + + /** + * 返回 guava 的 {@link Hasher} + */ + public static Hasher sha256() { + return Hashing.sha256().newHasher(); + } + + /** + * 返回 guava 的 {@link Hasher} + */ + public static Hasher sha384() { + return Hashing.sha384().newHasher(); + } + + /** + * 返回 guava 的 {@link Hasher} + */ + public static Hasher sha512() { + return Hashing.sha512().newHasher(); + } + + /** + * 返回 guava 的 {@link Hasher} + * + * @deprecated 该算法已弃用 + */ + @Deprecated + public static Hasher sha1() { + return Hashing.sha1().newHasher(); + } + + /** + * 返回 guava 的 {@link Hasher} + * + * @deprecated 该算法已弃用 + */ + @Deprecated + public static Hasher md5() { + return Hashing.md5().newHasher(); + } + + private Hashers() { + throw new IllegalStateException("Utility class"); + } +}