md5加密的问题

以下的代码是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的库也不知道对不对...
      
阅读 3.2k
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题