我有一个 sha256 哈希值,它是 5d753fd209b8cb9dff6801edbc60f2fdc00abff56bf3ef8c0f7cf9b975a2a1f9
我知道最后我应该得到什么,这是这个base64编码的字符串 N7m2mKF7vY8tM8PVvkPONqnu5gdXWPm+vcT3lkpBWZ8=
但不知道如何得到这个。 刚才我已经尝试过这个
var hexString = '5d753fd209b8cb9dff6801edbc60f2fdc00abff56bf3ef8c0f7cf9b975a2a1f9';
var hexArray = HexUtils.decode(hexString);
var base64String = base64Encode(hexArray);
print('base64String: $base64String');
哪个打印到控制台
XXU/0gm4y53/aAHtvGDy/cAKv/Vr8++MD3z5uXWiofk=
这不是我想要的。它应该给我
N7m2mKF7vY8tM8PVvkPONqnu5gdXWPm+vcT3lkpBWZ8=
非常感谢任何帮助。非常感谢。
我使用包 basic_utils 进行 HexUtils.decode 和 dart:convert 进行 base64Encode
我认为你应该使用
<string>.codeUnits
属性来获取 List<int>
并将其用于 base64encode。
示例
var hexString = '5d753fd209b8cb9dff6801edbc60f2fdc00abff56bf3ef8c0f7cf9b975a2a1f9';
var base64String = base64Encode(hexString.codeUnits);
print('base64String: $base64String');
输出:
base64String: NWQ3NTNmZDIwOWI4Y2I5ZGZmNjgwMWVkYmM2MGYyZmRjMDBhYmZmNTZiZjNlZjhjMGY3Y2Y5Yjk3NWEyYTFmOQ==
但是,这并不是 100% 符合您的要求。尝试使用 https://www.base64encode.org/,并对你的十六进制字符串进行编码,输出与我的相同,而不是你的。