摘录自《白帽子讲web安全》一书,供需要时速查。
- 不要使用ECB模式;
- 不要使用流密码(比如RC4);
- 使用 HMAC-SHA1 代替 MD5(甚至是代替 SHA1);
- 不要使用相同的key做不同的事情;
- salts 与 IV 需要随机产生;
- 不要自己实现加密算法,尽量使用安全专家已经实现好的库;
- 不要依赖系统的保密性。
当你不知道该如何选择时,有以下建议:
- 使用CBC模式的 AES256 用于加密;
- 使用 HMAC-SHA512用于完整性检查;
- 使用带 salt 的 SHA-256 或 SHA-512 用于 Hashing。