好粗糙的错误啊

zxbv999 2023-9-12 305

买了管理后台,结果管理后台的md5算法和im的md5算法不一样导致im管理后台创建的账号密码一直不对,费时费力排查,吐了。看开源版源码才发现。不可能跟身边的人推荐野火。

最新回复 (2)
  • zxbv999 2023-9-12
    引用 2

    MessageDigest md5 = MessageDigest.getInstance("MD5"); String passwdMd5 = Base64.getEncoder().encodeToString(md5.digest(password.getBytes("utf-8")));

    // 生成一个MD5加密计算摘要 MessageDigest md = MessageDigest.getInstance("MD5"); // 计算md5函数 md.update(str.getBytes()); // digest()最后确定返回md5 hash值,返回值为8为字符串。因为md5 hash值是16位的hex值,实际上就是8位的字符 // BigInteger函数则将8位的字符串转换成16位hex值,用字符串来表示;得到字符串形式的hash值 return new BigInteger(1, md.digest()).toString(16);

    上面是im源版的,下面是管理后台的。 真被恶心吐了。肯定又要说管理后台不属于im产品 是外包开发,自己不背锅。

  • x86 2023-9-12
    引用 3
    你好,抱歉给了你不好的体验。

    之前的管理后,支持创建用户,但不支持通过管理后台的用户直接登录,im-server 库里面的密码字段是历史遗留,没有实际使用,登录逻辑是通过 app-server 处理的,故我们没有发现这个问题。

    最近,我们新增了管理后台创建用户,并支持登录功能,具体是通过管理后台同时在 im-server 和 app-server 创建用户实现的。

    如果你们需要的话,可以联系我们,获取最新的管理后台源码。
返回