摘要算法和加密算法

什么是摘要算法?

摘要算法就是哈希算法,将一条任意长度字符串转为32位的哈希值,是单向的,不能解密。常见的摘要算法有MD5和SHA,本文将用java对MD5算法进行实现。

摘要算法的用途?

1.登录密码的加密,如有黑客通过非法手段获取到数据库中的账号密码,如果是明码,那么就会暴露客户的信息,我们就需要对数据进行加密,单向的,不能解密,即使被别人拿到密码,也无法登录。

2.还可以用于验证文件的完整性,唯一表示一个软件应用。

Java API自带的messageDigest

 private static String encrypt(String plainText) {
        byte[] secretBytes = null;
        try {
            secretBytes = MessageDigest.getInstance("md5").digest(
                    plainText.getBytes());
        } catch (NoSuchAlgorithmException e) {
            throw new RuntimeException("没有这个md5算法!");
        }
        String md5code = new BigInteger(1, secretBytes).toString(16);
        for (int i = 0; i < 32 - md5code.length(); i++) {
            md5code = "0" + md5code;
        }
        //将得出的字符串转为大写
        return md5code.toUpperCase();
    }

加密算法

加密算法包括对称加密与非对称加密,其中对称加密算法又叫做共享密钥加密算法,非对称加密算法被称为公开密钥加密算法。常见的对称加密算法主要有 DES3DESAES 等,常见的非对称加密算法主要有 RSADSA 等,散列算法主要有 SHA-1MD5 等。

对称加密算法用的密钥是同一个,加密的密钥和解密的密钥是同一个。

非对称加密算法用的密钥是两个不一样的。在非对称加密算法中,用于数字签名时,因为要代表自己的身份,不能让别人知道,所有要用私钥进行签名,接收者用公钥进行解密验证;用于加密时,因为要对文件进行加密,不能让别人知道里面的内容,所以要用公钥进行加密,用私钥才能解密。

原理图

算法的比较

 1.对称加密算法

2.非对称加密算法

3.概要算法

 对称加密算法:加密速度快,安全系数较低,用于加密大文件。

非对称加密算法:加密速度慢,安全系度高,用于加密小文件。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值