为了账号安全,请及时绑定邮箱和手机立即绑定

在 C# 中获得像 js-sha1 库一样的双哈希结果

在 C# 中获得像 js-sha1 库一样的双哈希结果

C#
倚天杖 2021-08-22 17:43:08
我尝试使用 SHA1 算法对双精度 (1529480427715.5532) 进行散列,并且我在 c# 中有这个散列:以字符串格式使用:“3e8f41233f90a85f9963afaa571ba76afb8bb08d”以双格式使用:“c880857c399c7b9cc9c6395197e700543c400b17”但实际上我想得到这个哈希值“da39a3ee5e6b4b0d3255bfef95601890afd80709”,就像我使用js-sha1库一样。
查看完整描述

1 回答

?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

鉴于此代码要从float64(double在 C# 中)转换为Uint8array,您可以:


// c880857c399c7b9cc9c6395197e700543c400b17

var hash = sha1(convertTypedArray(new Float64Array([1529480427715.5532]), Uint8Array));

甚至更短,不使用该链接,因为sha1接受ArrayBuffer作为参数:


var hash = sha1(new Float64Array([1529480427715.5532]).buffer);

请注意,sha1仅接受某些类型的输入,number而不是其中之一。


从库的示例看来,字符串、Array、Uint8Array、ArrayBuffer是受支持的。


正如@Freggar 所写,


// da39a3ee5e6b4b0d3255bfef95601890afd80709

var hash = sha1('');

并且,使用字符串:


// 3e8f41233f90a85f9963afaa571ba76afb8bb08d

var hash = sha1('1529480427715.5532');


查看完整回答
反对 回复 2021-08-22
  • 1 回答
  • 0 关注
  • 233 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信