flutter base64 编码哈希

问题描述 投票:0回答:1

我有一个 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

flutter base64 sha256
1个回答
0
投票

我认为你应该使用

<string>.codeUnits
属性来获取
List<int>
并将其用于 base64encode。 示例

var hexString = '5d753fd209b8cb9dff6801edbc60f2fdc00abff56bf3ef8c0f7cf9b975a2a1f9';
var base64String = base64Encode(hexString.codeUnits);
print('base64String: $base64String');

输出:

base64String: NWQ3NTNmZDIwOWI4Y2I5ZGZmNjgwMWVkYmM2MGYyZmRjMDBhYmZmNTZiZjNlZjhjMGY3Y2Y5Yjk3NWEyYTFmOQ==

但是,这并不是 100% 符合您的要求。尝试使用 https://www.base64encode.org/,并对你的十六进制字符串进行编码,输出与我的相同,而不是你的。

© www.soinside.com 2019 - 2024. All rights reserved.