我有一个生成斐波那契数的函数:
let rec fib n =
match n with
| (0 | 1) -> 1
| x when x > 0 -> (fib (x-2) + fib (x-1))
| _ -> raise (Invalid_argument "Negative value supplied to fib");;
Run Code Online (Sandbox Code Playgroud)
但我真正想要的是它返回所述数字的列表。我试过这个:
let rec fib n list =
match n with
| (0 | 1) -> 1 :: []
| x when x > 0 -> (fib (x-2) list + fib (x-1) list) :: list
| _ -> raise (Invalid_argument "Negative value supplied to …
Run Code Online (Sandbox Code Playgroud) 我正在尝试在 JS 中生成 sha3-512 哈希并在 golang 服务器中检查它。然而,cryptoJS 生成的哈希值与 golang 不同。
加密JS:
CryptoJS.algo.SHA3.create().update("foo").finalize().toString(CryptoJS.enc.Hex)
Run Code Online (Sandbox Code Playgroud)
输出:
1597842aac52bc9d13fe249d808afbf44da13524759477404c3592ee331173e89fe1cbf21a7e4360990d565fad4643cdb209d80fa41a91dea97e665022c92135
戈兰:
hex.EncodeToString(crypto.SHA3_512.New().Sum([]byte("foo")))
Run Code Online (Sandbox Code Playgroud)
输出:
666f6fa69f73cca23a9ac5c8b567dc185a756e97c982164fe25859e0d1dcc1475c80a615b2123af1f5f94c11e3e9402c3ac558f500199d95b6d3e301758586281dcd26
我希望这些哈希值相等,但事实并非如此