MessageDigest实现单向加密(MD5、SHA1、SHA-256、SHA-512)

单向加密与双向加密

  • 双向加密是加密算法中最常用的,它将可以直接理解的明文数据加密为不可直接理解的密文数据,然后,在需要的时候,可以使用一定的算法将这些加密以后的密文解密为原来可以理解的明文。双向加密适合于隐秘通信,例如,用户在网上购物时,需要向网站提交信用卡密码,用户当然不希望自己的数据直接在网上明文传送,因为这样很可能被别的用户“偷听”,用户希望自己的信用卡密码是通过加密以后,再在网络传送,因此网站接收到用户的数据以后,通过解密算法就可以得到准确的信用卡账号。
  • 单向加密只能对数据进行加密,也就是说,没有办法对加密以后的数据进行解密。单向加密一般用于数据库中用户信息的加密(例如用户密码加密)。

MessageDigest(信息摘要)

Java中提供了MessageDigest类,用于实现单向加密较为简便。

 	//信息摘要实现单向加密方法
 	//参数:str是加密前的字符串,type是加密类型(MD5、SHA1、SHA-256、SHA-512)
 	//返回值:加密后字符串
    public static String encrypt(String str, String type) throws NoSuchAlgorithmException {
   
        /*
         * MD5、SHA1、SHA-256、SHA-512
         * */
        MessageDigest md = MessageD
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值