欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

加密解密

程序员文章站 2024-03-14 17:09:55
...
1. 对称加密

采用单钥密码的加密方法,同一个**可以同时用来加密和解密,这种加密方法称为对称加密,也称为单**加密。
常用的单向加密算法:

DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合;
3DES(Triple DES):是基于DES,对一块数据用三个不同的**进行三次加密,强度更高;
AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高,支持128、192、256、512位**的加密;
Blowfish

算法特征:

1、加密方和解密方使用同一个**;
2、加密解密的速度比较快,适合数据比较长时的使用;
3、**传输的过程不安全,且容易被**,**管理也比较麻烦;

加密工具:

openssl,它使用了libcrypto加密库、libssl库即TLS/SSL协议的实现库等。TLS/SSL是基于会话的、实现了身份认证、数据机密性和会话完整性的TLS/SSL库。openssl官网。
gpg
2. 单向散列加密

单向加密又称为不可逆加密算法,其**是由加密散列函数生成的。单向散列函数一般用于产生消息摘要,**加密等。
常见的有:

1、MD5(Message Digest Algorithm 5):是RSA数据安全公司开发的一种单向散列算法,非可逆,相同的明文产生相同的密文;
2、SHA(Secure Hash Algorithm):可以对任意长度的数据运算生成一个160位的数值。其变种由SHA192,SHA256,SHA384等;
3、CRC-32,主要用于提供校验功能;

算法特征:

① 输入一样,输出必然相同;
② 雪崩效应,输入的微小改变,将会引起结果的巨大变化;
③ 定长输出,无论原始数据多大,结果大小都是相同的;
④ 不可逆,无法根据特征码还原原来的数据;

加密工具:

md5sum
sha1sum
openssl dgst
3. 非对称加密

非对称**加密也称为公钥加密,由一对公钥和私钥组成。公钥是从私钥提取出来的。可以用公钥加密,再用私钥解密,这种情形一般用于公钥加密;也可以用私钥加密,用公钥解密,常用于数字签名,因此非对称加密的主要功能就是加密和数字签名。
常用的非对称加密算法:

RSA:由 RSA公司发明,是一个支持变长**的公共**算法,需要加密的文件块的长度也是可变的;既可以实现加密,又可以实现签名
DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准);
ECC(Elliptic Curves Cryptography):椭圆曲线密码编码;

特征:

秘钥对,公钥(public key)和私钥(secret key)
主要功能:加密和签名 
发送方用对方的公钥加密,可以保证数据的机密性(公钥加密);
发送方用自己的私钥加密,可以实现身份验证(数字签名);