博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hexSHA1散列加密解密(不可逆)
阅读量:7058 次
发布时间:2019-06-28

本文共 1381 字,大约阅读时间需要 4 分钟。

1.maven引入codec和commons依赖:

commons-codec
commons-codec
1.9
org.apache.commons
commons-lang3
3.4

2.util新建secrity包放入Digests.java、Encodes.java和Exceptions.java工具类

3.ValidateUtil:

public class ValidateUtil {    public static final String HASH_ALGORITHM = "SHA-1";    public static final int HASH_INTERATIONS = 1024;    public static final int SALT_SIZE = 8;    /**     * @param plainPassword     * @return password 加密密码(生成安全的密码,生成随机的16位salt并经过1024次 sha-1 hash)     */    public static String entryptPassword(String plainPassword) {        byte[] salt = Digests.generateSalt(SALT_SIZE);        byte[] hashPassword = Digests.sha1(plainPassword.getBytes(), salt, HASH_INTERATIONS);        return Encodes.encodeHex(salt) + Encodes.encodeHex(hashPassword);    }    /**     * @param plainPassword     * @param password     * @return boolean 解密判断密码是否正确     */    public static boolean validatePassword(String plainPassword, String password) {        byte[] salt = Encodes.decodeHex(password.substring(0, 16));        byte[] hashPassword = Digests.sha1(plainPassword.getBytes(), salt, HASH_INTERATIONS);        return password.equals(Encodes.encodeHex(salt) + Encodes.encodeHex(hashPassword));    }}

转载于:https://www.cnblogs.com/cosyer/p/6634549.html

你可能感兴趣的文章
我的友情链接
查看>>
shell脚本将指定目录下前3天日期目录使用tar打包后并将其删除源日期目录
查看>>
类的静态成员
查看>>
osi七层模型的分类
查看>>
潍坊SEO教程之网站关键词密度
查看>>
HTTPS原理和CA证书申请(满满的干货)
查看>>
跨交换机实现VLAN
查看>>
mysql客户端的使用
查看>>
AIX创建删除page space
查看>>
scala 中的 日期格式化
查看>>
php面向对象
查看>>
Linux基础:日志管理
查看>>
Java中的多线程你只要看这一篇就够了
查看>>
第二章习题答案
查看>>
关于硬盘的一切!
查看>>
如何解决90%的报表设计难题?300张报表模板任君挑选
查看>>
EL函数库(由JSTL提供的)
查看>>
vagrant学习笔记 - provision
查看>>
PowerDesigner中pdm物理模型中 Name和Comment相互转换
查看>>
web.xml详解
查看>>