常用的加密算法

常见的加密算法可以分成三类,对称加密算法,非对称加密算法和Hash算法。
对称加密
指加密和解密使用相同密钥的加密算法。对称加密算法的优点在于加解密的高速度和使用长密钥时的难破解性。假设两个用户需要使用对称加密方法加密然后交换数据,则用户最少需要2个密钥并交换使用,如果企业内用户有n个,则整个企业共需要n×(n-1) 个密钥,密钥的生成和分发将成为企业信息部门的恶梦。对称加密算法的安全性取决于加密密钥的保存情况,但要求企业中每一个持有密钥的人都保守秘密是不可能的,他们通常会有意无意的把密钥泄漏出去——如果一个用户使用的密钥被入侵者所获得,入侵者便可以读取该用户密钥加密的所有文档,如果整个企业共用一个加密密钥,那整个企业文档的保密性便无从谈起。
常见的对称加密算法有DES、3DES、Blowfish、IDEA、RC4、RC5、RC6和AES
非对称加密
指加密和解密使用不同密钥的加密算法,也称为公私钥加密。假设两个用户要加密交换数据,双方交换公钥,使用时一方用对方的公钥加密,另一方即可用自己的私钥解密。如果企业中有n个用户,企业需要生成n对密钥,并分发n个公钥。由于公钥是可以公开的,用户只要保管好自己的私钥即可,因此加密密钥的分发将变得十分简单。同时,由于每个用户的私钥是唯一的,其他用户除了可以可以通过信息发送者的公钥来验证信息的来源是否真实,还可以确保发送者无法否认曾发送过该信息。非对称加密的缺点是加解密速度要远远慢于对称加密,在某些极端情况下,甚至能比非对称加密慢上1000倍。
常见的非对称加密算法有:RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用)
Hash算法
Hash算法特别的地方在于它是一种单向算法,用户可以通过Hash算法对目标信息生成一段特定长度的唯一的Hash值,却不能通过这个Hash值重新获得目标信息。因此Hash算法常用在不可还原的密码存储、信息完整性校验等。
常见的Hash算法有MD2、MD4、MD5、HAVAL、SHA
加密算法的效能通常可以按照算法本身的复杂程度、密钥长度(密钥越长越安全)、加解密速度等来衡量。上述的算法中,除了DES密钥长度不够、MD2速度较慢已逐渐被淘汰外,其他算法仍在目前的加密系统产品中使用。

转载:

http://www.cnblogs.com/MikeChen/archive/2011/04/22/2024574.html

时间: 2024-11-09 20:54:36

常用的加密算法的相关文章

iOS常用的加密算法

在iOS开发中,为了数据的安全经常对内容进行加密,在这儿我们对常用的加密算法进行了总结: 1.MD5 <span style="font-size:18px;">+ (NSString *)md5Hash:(NSString *)str { const char *cStr = [str UTF8String]; unsigned char result[16]; CC_MD5( cStr, strlen(cStr), result ); NSString *md5Resu

常用的加密算法--摘要认证和签名认证的实现

摘要认证的实现 摘要认证实现主要包含四个方面:客户端参数摘要生成.服务端参数摘要检验.服务端响应摘要生成和客户端响应摘要检验. 1.客户端参数摘要生成过程: a.请求参数: b.参数排序: c.将参数串接起来,加上secret,生成待摘要字符串: d.使用MD5等摘要算法生成摘要字符串: e.摘要串.  /**      * @param params 需要传递到服务端的参数      * @return      * @throws Exception      */     private 

常用的加密算法有哪些

常用的加密算法有哪些? DES(Data Encryption Standard):对称算法,数据加密标准,速度较快,适用于加密大量数据的场合: 3DES(Triple DES):是基于DES的对称算法,对一块数据用三个不同的密钥进行三次加密,强度更高: RC2和RC4:对称算法,用变长密钥对大量数据进行加密,比 DES 快: IDEA(International Data Encryption Algorithm)国际数据加密算法,使用 128 位密钥提供非常强的安全性: AES(Advanc

DotNet中几种常用的加密算法

在.NET项目中,我们较多的使用到加密这个操作.因为在现代的项目中,对信息安全的要求越来越高,那么多信息的加密就变得至关重要.现在提供几种常用的加密/解密算法. 1.用于文本和Base64编码文本的互相转换 和 Byte[]和Base64编码文本的互相转换: (1).将普通文本转换成Base64编码的文本        /// <summary>         /// 将普通文本转换成Base64编码的文本        /// </summary>         /// &l

常用的加密算法--非对称加密

非对称加密拥有两个密钥:公开密钥(publickey)和私有密钥(privatekey).通常使用公钥加密,只有使用对应的私钥才能够解密. 非对称加密主要算法有:RSA.Elgamal.背包算法.Rabin.D-H.ECC(椭圆曲线加密算法)等 非对称加密执行的步骤顺序: 1.先获取KeyPair对象: 2.获取字符串的公钥/私钥: 3.将字符串的公钥/私钥转换成为公钥/私钥类对象: 4.使用类对象的公钥进行数据加密: 5.使用类对象的私钥进行解密. RSA算法 目前最常用的非对称加密算法就是R

常用的加密算法--对称加密

对称加密是最快速.最简单的一种加密方式,加密与解密用的是相同的密钥.对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中. 对称加密通常使用的是相对较小的密钥,一般小于256 bit.因为密钥越大,加密越强,但加密与解密的过程越慢. 常见的对称加密算法:DES算法.3DES算法 .AES算法 特点:算法公开,计算量小,加密速度快,加密效率高.其安全性主要依赖于秘钥的安全性.加密的时候使用的密钥只有一个. DES算法 对称加密算法,明文按照64位进行分组,密钥长64位,但是

常用的加密算法---数字摘要

数字摘要: 数字摘要也称为消息摘要,它是一个唯一对应一个消息或文本的固定长度的值,它是一个单向 Hash函数对消息进行计算产生的. 摘要生成的过程:待摘要串-----> Hash函数-----> 摘要 消息摘要的特点: 1.无论输入的消息多长,计算出来的消息摘要的长度是固定的.例如:MD5 的为128个比特位,SHA-1的为 160个比特位: 2.一般只要输入的消息不同,对其产生的摘要消息也是不相同的,相同的输入必然会产生相同的摘要消息: 3.由于消息摘要并不包含原文的完整信息,因此只能进行正

微信小程序及各种平台对接常用可逆加密算法aes256

不同程序之间经常会交换数据,我们经常采用的套路是: 假设要传输的信息是json,我们假设其为json_data,通过http传递信息为 json_data_encode=json_data&sign=md5(json_data+key) 接收方通过验证sign就知道内容有没有被篡改. 但是,这样json_data作为明码传送会让我们不太开心,所以今天的我们要介绍的aes256出马了,他是一强度很高的可逆加密算法! aes256加密出来的内容是二进制的,不好通过http协议传输,所以我们再配合上b

Java中常用的加密算法小结

散列算法(单向散列,不可逆) MD5(Message Digest Algorithm 5) SHA(Secure Hash Algorithm)   对称加密(加密解密使用同一密钥,速度快) DES 3DES AES 非对称加密(公钥加密,私钥解密,可以签名,更安全) RSA ECC