账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    md5加密的问题
    • 2019-04-02 00:00
    • 11
    42
    0

    以下的代码是c#,现在我的开发环境又是nodejs的,我用的typescript语言,就想如何把它转成nodejs环境下可以用的
    public static string Md5Sign(string prestr, string key)

        {
            StringBuilder sb = new StringBuilder(32);
            prestr = prestr + key;
            MD5 md5 = new MD5CryptoServiceProvider();
            byte[] t =
          md5.ComputeHash(Encoding.UTF8.GetBytes(prestr));
            for (int i = 0; i < t.Length; i++)
            {
                sb.Append(t[i].ToString("x").PadLeft(2, '0'));//t[i].ToString("x").PadLeft(2, '0')//x代表十六进制,固定长度为2,左边不足,补0
            }
            return sb.ToString();
        }
        -------------------------------------------------------------------------------------
        -------------------------------------------------------------------------------------
        以下是我自己写的,本人能力有限,改起来有些困难,还怕自己改错了,特地上来求助一下,谢谢!
    Md5Sign(sortedUrl: string, appKey: string) {
        //appKey=yingsheng@oa
        sortedUrl = sortedUrl + appKey;
        let bytes = this.getBytes(sortedUrl)
        console.log("bytes:", bytes)
        console.log("cryptoUtil.md5(sortedUrl):", cryptoUtil.md5(sortedUrl))
        let md5 = crypto.createHash('md5')
        let sb: any = []
        let str = md5.update(sortedUrl).digest('hex');
        return str;
        // console.log("getHashResult:", this.getHashResult(sortedUrl))
        // let hashResult = this.getHashResult(sortedUrl)
        // return hashResult;
    }        
    对于我来说,难点就是byte[] t =md5.ComputeHash(Encoding.UTF8.GetBytes(prestr));因为nodejs的库md5没有将字节数组转为哈希值的方法,然后用了md5的库也不知道对不对...
          
    1
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 我就是最帅气 普通会员 1楼

      MD5是一种常用的哈希函数,可以将任意长度的输入(包括字符串)转化为固定长度的输出(通常为128位)。然而,MD5并非100%安全的哈希函数,因为即使输入和输出长度相同,如果输入和输出在哈希过程中发生碰撞,那么也会产生相同的哈希值。

      MD5的安全性主要依赖于哈希函数的碰撞检测机制。如果输入和输出在哈希过程中发生了碰撞,那么MD5就会产生不一致的哈希值。为了提高MD5的安全性,许多现代的MD5实现都采用了SHA-1或者SHA-256等更强大的哈希函数。

      如果你有MD5加密的问题,你可以使用哈希函数检测工具来检查MD5加密后的数据是否与原始数据相同。如果你使用的是MD5加密,那么需要使用特定的哈希函数检测工具,如SHA-256或者SHA-3。这些工具可以检测MD5加密后的数据是否与原始数据相同,以确保加密的安全性。

    更多回答
    网站公告
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部