MD5加密解密代码

package test;


import java.security.NoSuchAlgorithmException;


import org.springframework.security.authentication.encoding.Md5PasswordEncoder;
import org.springframework.security.authentication.encoding.ShaPasswordEncoder;


public class MD5 {
public static void md5() {   
        Md5PasswordEncoder md5 = new Md5PasswordEncoder();   
        // false 表示:生成32位的Hex版, 这也是encodeHashAsBase64的, Acegi 默认配置; true  表示:生成24位的Base64版   
        md5.setEncodeHashAsBase64(false);   
        String pwd = md5.encodePassword("1", 1);   
        System.out.println("MD5: " + pwd + " len=" + pwd.length());   
    }
public static void sha_256() throws NoSuchAlgorithmException {     
        ShaPasswordEncoder sha = new ShaPasswordEncoder(256);   
        sha.setEncodeHashAsBase64(true);   
        String pwd = sha.encodePassword("1", 1);   
        System.out.println("哈希算法 256: " + pwd + " len=" + pwd.length());   
    }   
       
      
    public static void sha_SHA_256() {   
        ShaPasswordEncoder sha = new ShaPasswordEncoder();   
        sha.setEncodeHashAsBase64(false);   
        String pwd = sha.encodePassword("1", 1);    
        System.out.println("哈希算法 SHA-256: " + pwd + " len=" + pwd.length());   
    }   
       
      
    public static void md5_SystemWideSaltSource () {   
        Md5PasswordEncoder md5 = new Md5PasswordEncoder();   
        md5.setEncodeHashAsBase64(false);   
           
        // 使用动态加密盐的只需要在注册用户的时候将第二个参数换成用户名即可   
        String pwd = md5.encodePassword("1", 1);   
        System.out.println("MD5 SystemWideSaltSource: " + pwd + " len=" + pwd.length());   
    }   
public static void main(String[] args) throws NoSuchAlgorithmException {
md5(); // 使用简单的MD5加密方式   
        
        sha_256(); // 使用256的哈希算法(SHA)加密   
           
        sha_SHA_256(); // 使用SHA-256的哈希算法(SHA)加密   
           
        md5_SystemWideSaltSource(); // 使用MD5再加全局加密盐加密的方式加密    
}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值