简介:常见的对数据进行加密,解密算法分为以下几类

    1)单向加密算法

    2)对称加密算法

    3)非对称加密算法

一.单向加密算法

    这种算法,只能加密,不能解密,是不可逆的,所以叫做单向加密算法(摘要算法),这种算法通常被用作对数据签名

1.md5

     摘要算法是一个不可逆过程,无论多大数据,经过算法运算厚都是生成固定长度的数据,一般结果使用16进制进行显示。

MD5的前身有MD2,MD3和MD4.

    MD5算法具有以下特点:

        1.压缩性:任意长度的数据,算出的md5值长度都是固定的(输出128字节)

        2.容易计算:从原数据计算出md5值很容易

        3.抗修改性:对原数据进行任何改动,哪怕只修改一个字节,所得到md5值都是很大区别

        4.强抗碰撞:已知原数据和其MD5值,除了暴力找不到相同的MD5

常见加解密



2.SHA

    原理同MD5一样,相比MD5更安全,sh1基于md5,加密后的数据长度更长产生长度160字节的散列值

SHA家族有五个算法:SHA1,SHA-224,SHA-256,SHA-384,SHA-512.后四种又称作SHA2

常见加解密

二.对称加密

对称加密:是指加密和解密使用**的加密算法

在对称加密算法中,数据发送方将明文和加***一起经过算法处理后,使其变成复杂的密文发送出去。接收方收到密文后,若想解读原文,则需要使用加密用过的**及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。

在大多数的对称算法中,加***和解***是相同的,所以它要求发送方和接收方在安全通信之前,商定一个**。对称算法的安全性依赖于**,**泄漏意味着消息有被解密的风险,所以**的保密性对通信的安全性至关重要。

常用算法:

DES(Data Encryption Standard)数据加密标准:JDK实现的算法**长度为56位

3DES:三重DES,JDK实现的算法**长度为112和168,默认168位。

AES:代替DES的算法,目前使用最多的对称加密算法,官方并未报告被**。AES 通常用于移动通信系统加密以及基于SSH协议的软件。JDK实现的AES**长度有128,192,256,默认128位。

此外还有 TDEA算法,Blowfish算法,RC5算法,IDEA算法,PBE算法等,目前使用 3DES 和 AES 较为广泛。


常见加解密

https://wenku.baidu.com/view/84e98e7beefdc8d377ee321f.html

三.非对称加密

https://blog.csdn.net/wzzvictory/article/details/9015155

相关文章: