abelyao
V2EX  ›  编程

就 CryptoJS 提供的几种加密算法,哪种是最安全的?

  •  1
     
  •   abelyao · Oct 30, 2015 · 4170 views
    This topic created in 3853 days ago, the information mentioned may be changed or developed.
    实在有点累,做一下伸手党吧,希望有对加密算法比较了解的 V 友帮忙看一下:
    - MD5
    - SHA-1
    - SHA-256
    - AES
    - Rabbit
    - MARC4
    - HMAC
    - HMAC-MD5
    - HMAC-SHA1
    - HMAC-SHA256
    - PBKDF2

    如果既要考虑效率,又要考虑安全性,应该选哪个?
    如果仅考虑安全性的话又是哪个呢?
    谢谢~

    附上 github 地址: https://github.com/brix/crypto-js
    3 replies    2015-10-30 13:39:30 +08:00
    yyfearth
        1
    yyfearth  
       Oct 30, 2015 via iPad   ❤️ 1
    前提是 你要干嘛?
    加密内容原文 还是散列
    这些算法分好几类的 目的也不同
    breeswish
        2
    breeswish  
       Oct 30, 2015   ❤️ 1
    MD5/SHA 系列是散列,用于将一个消息不可逆且能重复地转换为“散列值”——如用于存储密码

    HMAC 系列是消息验证,用于验证一个消息是否被篡改——如网站上传递 email 和 hmac(email),则接收时可以通过 hmac(email) 获知 email 是否是用户伪造的

    AES 系列是加密——大概是最符合你描述的?

    然而 AES 还有各种不同的加密模式,使用不安全的加密模式或姿势不正确甚至如果没有做好异常处理都会导致加密不安全,甚至可能完全泄露明文。简单来说建议楼主使用 AES-CBC 或 AES-CTR ,并确保每次加密使用的 iv 不一样(例如可以使用高强度随机数生成器生成 iv )。解密时候注意做异常处理。
    abelyao
        3
    abelyao  
    OP
       Oct 30, 2015
    @yyfearth @breeswish
    感谢两位朋友,我是想对文件进行加密,大部分为图片文件,估计是时候 AES 最合适了?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1523 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 16:54 · PVG 00:54 · LAX 09:54 · JFK 12:54
    ♥ Do have faith in what you're doing.