我正在使用带有 postgresql 的 play-framework 2.0 (java web-framework)。
- 当今最常见的用户密码加密类型是什么?我知道MD5在过去几年中已经很丰富了。
- 用户类中字段“密码”的正确数据类型是什么(因此,在 postgresql 数据库中)?
谢谢
我正在使用带有 postgresql 的 play-framework 2.0 (java web-framework)。
谢谢
我将 jBcrypt 与 Play 框架内部 Crypto 一起使用(从这里得到想法:https://groups.google.com/forum/?fromgroups#!topic/play-framework/9KIUwWBjudQ[1-25])
此外,当我为用户添加注册时,我确保密码具有一定程度的复杂性(至少 8 个最小标记、大写字母、一个数字)。等你基本上命名它?但只是想指出安全不仅仅是加密,一半的蛋糕是确保用户将使用复杂的密码:)
您应该使用 SHA-x 算法对密码进行哈希处理。这或多或少是 MD5 的替换散列函数。
MessageDigest.getInstance("SHA-512").digest(toBytes(toDigest)))
但要小心,在对密码进行哈希处理之前添加一个盐,以避免哈希表攻击。
DB 列应该是 varchar。长度取决于您使用的 SHA 算法版本
HIH