1.8 加解密

1.8.1【建议】对称加密

建议使用AES,秘钥长度128位以上。禁止使用DES算法,由于秘钥太短,其为目前已知不安全加密算法。使用AES加密算法请参考以下注意事项:

  • AES算法如果采用CBC模式:每次加密时IV必须采用密码学安全的伪随机发生器(如/dev/urandom),禁止填充全0等固定值。
  • AES算法如采用GCM模式,nonce须采用密码学安全的伪随机数
  • AES算法避免使用ECB模式,推荐使用GCM模式。
1.8.2【建议】非对称加密

建议使用RSA算法,秘钥2048及以上。

1.8.3【建议】哈希算法

哈希算法推荐使用SHA-2及以上。对于签名场景,应使用HMAC算法。如果采用字符串拼接盐值后哈希的方式,禁止将盐值置于字符串开头,以避免哈希长度拓展攻击。

1.8.4【建议】密码存储策略

建议采用随机盐+明文密码进行多轮哈希后存储密码。