加密算法排排队

最近在看 Golang 的标准库,看到 crypto 中的 aesdesarssha 等等,顿时觉得熟悉又陌生,平时开发时遇到需要加密解密的时候总是看看文档 copy 过来,不求甚解,是时候把他们排排队,分分类了。

对称加密

同一个密钥

常见算法:DES、3DES、DESX、RC4、RC5、RC6和AES

DES (Data Encryption Standard) 类:最早的一批加密算法,主要用于金融和嵌入式设备,但由于用密钥(56位)过短,所以安全性受到质疑。

注:其实,编程的世界里非常注重命名,尤其是协议和规范,所以我们不能只看缩写,还是得了解一下缩写代表的是哪几个单词。

AES (Advanced Encryption Standard) 从名字上可以看出是更为安全的加密方式。

RC (Rivest Cipher) 类:Ron Rivest 是美国密码学家,此类是流加密算法,密钥长度可变。

非对称加密

双方用不同的秘钥,两个秘钥有一定的数学关系

常见算法:RSA、DSA、ECC

RSA:由于其 非常重要,所以以三位发明者的名字首字母命名。
DSA (Digital Signature Algorithm): 签名算法。
ECC (Elliptic Curve Digital Signature Algorithm): 移动设备常用算法。

散列加密

生成固定长度摘要,不可逆

常见算法:MD2、MD4、MD5、SHA、SHA1、SHA2、SHA256、SHA512、HMAC、HMAC-SHA1

MD (Message-Digest): 消息摘要类,散列算法,加密后是定长字符串,一般用于数据一致性检查,MD后面跟的数字代表版本升级。

SHA (Secure Hash Algorithm): 安全散列算法类,由 MD 类加密算法演进。

注意:MD5 和 SHA 都已被破解,当然破解不代表没啥用而是存在被破解的可能性。

HMAC (Keyed-hash message authentication code): 消息散列认证码,需要一个秘钥,数据加密的同时可以验证身份。

而 HMAC-SHA1 HMAC-SHA256 这些无非是将用于 HAMC 的秘钥先进行 SHA 加密再使用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 这篇文章主要讲述在Mobile BI(移动商务智能)开发过程中,在网络通信、数据存储、登录验证这几个方面涉及的加密...
    雨_树阅读 7,947评论 0 6
  • 本文主要介绍移动端的加解密算法的分类、其优缺点特性及应用,帮助读者由浅入深地了解和选择加解密算法。文中会包含算法的...
    苹果粉阅读 13,963评论 5 29
  • 概述 之前一直对加密相关的算法知之甚少,只知道类似DES、RSA等加密算法能对数据传输进行加密,且各种加密算法各有...
    Henryzhu阅读 8,247评论 0 14
  • 消息摘要算法 友情提示,本文档的图床使用极简图床进行图片存储,默认存储到七牛云空间 本文档依赖的jar maven...
    Mr_魏阅读 4,662评论 0 3
  • Hey!你有几个鸭梨? 第一眼看到为公解惑的《Hey!你有几个鸭梨?》时,把我乐了半天,惊呼小编实在是太有才了。正...
    阳光Sunflower阅读 4,489评论 0 5

友情链接更多精彩内容