常见加密算法java实现(MD5,SHA-256,SHA-512)
来源:互联网 发布:java内存机制 编辑:程序博客网 时间:2024/06/05 03:42
commons-codec-1.5.jar包下已经实现了有常见的加密算法,下面是几种常见的加密算法实现,使用很方便,很简单!
这个连接是DigestUtils方法的使用API文档:http://commons.apache.org/proper/commons-codec/apidocs/org/apache/commons/codec/digest/DigestUtils.html
import java.security.NoSuchAlgorithmException;
import org.apache.commons.codec.digest.DigestUtils;
public class PasswordEncode {
private static String pwdAlgorithm = "MD5";
/**
* 加密密码算法
*
* @param pass
* 需要加密的原始密码
* @param algorithm
* 加密算法名称
* @return 加密后的密码
* @throws NoSuchAlgorithmException
* 当加密算法不可用时抛出此异常
*/
public static String digestString(String password, String alg) throws NoSuchAlgorithmException {
String newPass;
if (alg == null || alg.equals("MD5")) {
newPass = DigestUtils.md5Hex(password);
} else if (alg.equals("NONE")) {
newPass = "password";
} else if (alg.equals("SHA-256")) {
newPass = DigestUtils.sha256Hex(password);
} else if (alg.equals("SHA-512")) {
newPass = DigestUtils.sha512Hex(password);
} else {
newPass = DigestUtils.shaHex(password);
}
return newPass;
}
/**
* 加密密码算法
*
* @param newPass
* 未加密的密码
* @param algorithm
* 加密算法
* @return String 加密后的密码
*/
public static String setPassword(String newPass) {
try {
if (newPass != null && !"".equals(newPass)) {
return digestString(newPass, pwdAlgorithm);
} else{
return null;
}
} catch (NoSuchAlgorithmException nsae) {
throw new RuntimeException("Security error: " + nsae);
}
}
/**
* 判断密码是不是相等
*
* @param beforePwd
* 要判断的密码
* @param afterPwd
* 加密后的数据库密码
* @return Boolean true 密码相等
*/
public static boolean isPasswordEnable(String beforePwd, String afterPwd) {
if (beforePwd != null && !"".equals(beforePwd)) {
String password = setPassword(beforePwd);
return afterPwd.equals(password);
} else{
return false;
}
}
}
- 常见加密算法java实现(MD5,SHA-256,SHA-512)
- 哈希加密算法 MD5,SHA-1,SHA-2,SHA-256,SHA-512,SHA-3,RIPEMD-160
- java 实现各种加密(MD5 ,SHA-1,SHA-256)
- java加密算法实现-BASE64、MD5、SHA、HMAC
- Linux ---password 加密算法从md5到SHA-256/SHA-512
- JAVA加密算法(BASE64,MD5,SHA)
- 哈希加密算法 MD5,SHA-1,SHA-2,SHA-256,SHA-512,SHA-3,RIPEMD-160 - aTool
- SHA加密算法Java实现
- java实现MD5加密算法和SHA-1加密算法比较
- java实现 SHA-256 和 SHA-512
- SHA-256 和SHA-512 加密算法
- md5-sha 摘要加密算法
- MD5与SHA加密算法
- MD5、SHA-1加密算法C语言实现
- Java常用加密算法应用MD5,SHA,RSA
- Java常用加密算法应用MD5,SHA,RSA
- MD5加密算法与SHA加密算法
- MD5加密算法与SHA加密算法
- 搜狗笔试题3
- 在ssh项目中的中配置数据源c3p0
- linux与linux互相下载文件的命令scp
- 编程之美 Top K
- 降采样,过采样,欠采样,子采样,下采样,上采样【转自EDNChina】
- 常见加密算法java实现(MD5,SHA-256,SHA-512)
- 网络连接方式
- iOS SDK:创建一个自定义文本输入框
- IOS常用代码整理
- 有关逗号表达式
- windows msysgit 下载地址
- IOS获得设备信息的三个相关类
- HTTP
- JSON经典异常:org.json.JSONException: Unterminated string at character