微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Bcrypt/Spring Security 支持表情符号和汉字

如何解决Bcrypt/Spring Security 支持表情符号和汉字

我目前正在尝试为 bcrypt/spring 安全实现 (UTF-8/$2b$) 实施修复

我的问题特定于非拉丁非数字密码哈希

在所有情况下,我都以管理员身份设置密码,在 Windows 机器上,使用拉丁语言虚拟键盘,然后尝试使用我刚刚设置为管理员的密码以目标用户身份登录

a.) 以包含表情符号、空格和汉字的字母数字字符开头的混合字母数字密码。

b.) 仅多个相同类型的表情符号

c.) 一个表情符号

d.) 以包含表情符号、空格和汉字的表情符号开头的混合字母数字密码。

e.) 一个纯粹的非拉丁文、非数字密码(汉字)

除 a 之外的所有情况都可以由管理员设置(我怀疑管理员权限会忽略对密码的所有检查)但不能用于非管理员目标用户登录

就我所见,使用适当的 bCrypt 结构可以正确地形成哈希。

当光标沿线移动时,密码掩码将跳转字符。它将对第一个表情符号(由 ** 表示)进行分组,但只会遍历 * 而不是 **。这有效地导致每 2 次光标移动遍历 1.5 个表情符号。

最初我认为这是字符集的问题,或者是 bCrypt 的版本或可能在解码时覆盖定义的编码 (UTF-8) 的编码标准。您是否需要明确定义解码标准和编码标准?是否存在即使定义(在任一方向)编码标准也会被覆盖的实例?

可能是我看错了,但我对 spring-security 平台的了解有限,而且我所看到的实现已经接近开箱即用。

TLDR:您如何使用 Spring Security 在密码中获得表情符号和非拉丁语言支持

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。