我在使用 google Closure-Library 时遇到以下问题。
var temp = "ks/ZUl6L5v77y7BHymYrFw===="; //sample string
var decoded = goog.crypt.base64.decodeStringToByteArray(temp);
var sha512 = new goog.crypt.Sha512();
sha512.update(decoded);
//Error: message must be a byte array
更改字符串使代码运行:
var temp1 = "heyeveryone"; //sample string
var decoded1 = goog.crypt.base64.decodeStringToByteArray(temp1);
var sha512 = new goog.crypt.Sha512();
sha512.update(decoded1);
//fine...
当查看“decoded”和“decoded1”值时,对我来说两者看起来都像字节数组。
已解码 [146、207、217、82、94、139、230、254、251、203、176、71、202、102、43、23、260]
解码1 [133、236、158、189、234、242、162、119]
那么,这里有什么问题吗?为什么“decoded1”有效而“decoded”无效?
谢谢!
最佳答案
第一个数组不是字节数组 - 260
(最终值)不是字节值。确保您的编码值不超过 255
。
关于javascript - 为什么 goog.crypt.base64.decodeStringToByteArray(string) 在这里返回无效的字节数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25911827/