直接引入“commons-codec-1.10.jar”这个java包,然后调用相应方法即可
比如我们可以写一个方法类,把常用的方法都写进去:
publicclassEncryptionUtil{
/**
*Base64encode
**/
(Stringdata){
returnBase64.encodeBase64String(data.getBytes());
}
/**
*Base64decode
*@
**/
(Stringdata){
returnnewString(Base64.decodeBase64(data.getBytes()),"utf-8");
}
/**
*md5
**/
publicstaticStringmd5Hex(Stringdata){
returnDigestUtils.md5Hex(data);
}
/**
*sha1
**/
publicstaticStringsha1Hex(Stringdata){
returnDigestUtils.sha1Hex(data);
}
/**
*sha256
**/
publicstaticStringsha256Hex(Stringdata){
returnDigestUtils.sha256Hex(data);
}
}
(PS:纯手打,望采纳)
❷ Java MD5和SHA256等常用加密算法
在Java项目开发中,数据安全是至关重要的。特别是在前后端接口交互时,为了保护信息的完整性和安全性,我们需要对接口签名、用户登录密码等进行加密处理。加密算法作为基础技术,在身份验证、单点登录、信息通信和支付交易等多个场景中扮演着关键角色。
MD5,全称信息摘要算法,是一种常见的128位(16字节)散列函数。它通过复杂的算法操作,将明文转化为无法还原的密文,确保信息传输的一致性。尽管MD5常用于密码的存储,但需注意,由于其本质上是摘要而非加密,生成的128位字符串是单向的,无法逆向获取原始信息。在找回密码时,我们只能通过对比用户输入的MD5值来验证,而无法获取原密码。
SHA系列,如SHA-1,尽管有碰撞的潜在风险,但其安全性相对较高,适用于对信息安全要求较高的场景。HMAC(Hash-based Message Authentication Code)是基于哈希函数的认证码,推荐使用SHA256、SHA384、SHA512以及它们的HMAC变种,如HMAC-SHA256等,以提供更高级别的加密和认证功能。
对于实际应用中的对称加密算法,如常见的加密盐,它可以增强密码的安全性,防止暴力破解。至于在线加密网站,选择适合项目的加密算法至关重要。在众多算法中,SHA256、SHA384和SHA512因其较高的安全性,以及HMAC-SHA变种的认证能力,被广泛认为是更推荐的选择。