加密算法比较

作者: 07120665a058 | 来源:发表于2017-05-27 11:31 被阅读328次

    对称加密算法

    • 将数据和密钥经过加密算法,收方,可用相同的密钥和相应的逆算法对密文进行解密
    名称 密钥长度 运算速度 安全性 资源消耗
    DES 56位 较快
    3DES 112位或168位
    AES 128、192、256位

    非对称算法

    • 使用两把不同却又匹配的一对公钥和私钥,发信方必须知道收信方的公钥,并且使用公钥发送,私钥只有收信方知道,收信方使用私钥进行接收(加密密钥和解密密钥不同)
    名称 成熟度 安全性(取决于密钥长度) 运算速度 资源消耗
    RSA
    DSA 只能用于数字签名
    ECC

    对称与非对称算法比较

    算法名称|密钥管理|安全性|速度
    ----|----|----|----|----
    对称|比较难,常用于内部系统|中|快,适合大数据
    非对称|密钥容易管理|高|慢,适合小数据

    散列算法比较

    名称 安全性 速度
    SHA-1
    MD5(不可逆)

    常见加密算法

    • DES:对称算法,数据加密标准,速度较快,适用于加密大量数据的场合
    • 3DES:是基于DES的对称算法,对一块数据用三个不同的密钥进行三次加密,强度更高
    • RC2 / RC4:对称算法,用变长密钥对大量数据进行加密,比 DES 快
    • IDEA:国际数据加密算法,使用 128 位密钥提供非常强的安全性
    • RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的,非对称算法;
    • DSA:数字签名算法,是一种标准的 DSS(数字签名标准),严格来说不算加密算法
    • MD5:严格来说不算加密算法,只能说是摘要算法
    • AES:高级加密标准,对称算法,是下一代的加密算法标准,速度快,安全级别高
    • BLOWFISH:它使用变长的密钥,长度可达448位,运行速度很快

    哈系和加密的区别

    总结

    • Node.js中引入了crypto模块,有AES,md5,sha1,DH等API
    • demo地址
    • https是通过安全证书来传输的,我觉得相对安全,如果用http传输的话,传输过程中可能会遇到攻击
    • 前端对称加密后发送给后台,有一定的安全意义,因为中间人拿到的是密文,不过如果前后端加密算法相同,也可以拿密文直接登录,也不是很安全
    • 非对称加密比对称加密更安全,因为就算拿到了密文,没有收信方的私钥,也无法破解

    参考文章推荐:
    各种加密算法比较
    JavaScript简明教程之Node.js
    JS实现密码加密(base64, md5, sha1)
    当我们在谈论前端加密时,我们在谈些什么

    相关文章

      网友评论

        本文标题:加密算法比较

        本文链接:https://www.haomeiwen.com/subject/vddxfxtx.html