获得双哈希结果,如 C# 中的 js-sha1 库
get double hash result like js-sha1 library in c#
我尝试使用 SHA1 算法对双精度数 (1529480427715.5532) 进行哈希处理,我在 c# 中有这个哈希值:
- 以字符串格式使用:“3e8f41233f90a85f9963afaa571ba76afb8bb08d”
- 以双精度格式使用:"c880857c399c7b9cc9c6395197e700543c400b17"
但实际上我想得到这个散列 "da39a3ee5e6b4b0d3255bfef95601890afd80709" 作为结果,就像我在使用 js-sha1 库时一样。
给定 this 从 float64
(即 C# 中的 double
)转换为 Uint8array
的代码,您可以:
// c880857c399c7b9cc9c6395197e700543c400b17
var hash = sha1(convertTypedArray(new Float64Array([1529480427715.5532]), Uint8Array));
甚至更短,不使用 link,因为 sha1
接受 ArrayBuffer
作为参数:
var hash = sha1(new Float64Array([1529480427715.5532]).buffer);
请注意 sha1
只接受某些类型的输入,number
不是其中之一。
从库的 examples 看来,支持字符串 Array
、Uint8Array
、ArrayBuffer
。
如@Freggar 所写,
// da39a3ee5e6b4b0d3255bfef95601890afd80709
var hash = sha1('');
并且,使用字符串:
// 3e8f41233f90a85f9963afaa571ba76afb8bb08d
var hash = sha1('1529480427715.5532');
我尝试使用 SHA1 算法对双精度数 (1529480427715.5532) 进行哈希处理,我在 c# 中有这个哈希值:
- 以字符串格式使用:“3e8f41233f90a85f9963afaa571ba76afb8bb08d”
- 以双精度格式使用:"c880857c399c7b9cc9c6395197e700543c400b17"
但实际上我想得到这个散列 "da39a3ee5e6b4b0d3255bfef95601890afd80709" 作为结果,就像我在使用 js-sha1 库时一样。
给定 this 从 float64
(即 C# 中的 double
)转换为 Uint8array
的代码,您可以:
// c880857c399c7b9cc9c6395197e700543c400b17
var hash = sha1(convertTypedArray(new Float64Array([1529480427715.5532]), Uint8Array));
甚至更短,不使用 link,因为 sha1
接受 ArrayBuffer
作为参数:
var hash = sha1(new Float64Array([1529480427715.5532]).buffer);
请注意 sha1
只接受某些类型的输入,number
不是其中之一。
从库的 examples 看来,支持字符串 Array
、Uint8Array
、ArrayBuffer
。
如@Freggar 所写,
// da39a3ee5e6b4b0d3255bfef95601890afd80709
var hash = sha1('');
并且,使用字符串:
// 3e8f41233f90a85f9963afaa571ba76afb8bb08d
var hash = sha1('1529480427715.5532');