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 (将#修改为@)