我正在尝试根据 Dart/Flutter 中的 PHP 代码生成会话代码:
private $length = 32;
substr(bin2hex(random_bytes($this->length), 0, $this->length);
Run Code Online (Sandbox Code Playgroud)
问题是我不知道如何在 dart 中创建这些 random_bytes,然后使用 DART 语言将它们转换为 bin2hex。
上面描述的这些函数来自 PHP(opencart 系统),我必须创建一个哈希来指定每个连接用户的会话。
此转换的预期结果类似于:
“004959d3386996b8f8b0e6180101059d”
如果您的目标只是使用随机数生成这样的十六进制字符串,您可以执行以下操作:
import 'dart:math';
void main() {
print(randomHexString(32)); // 1401280aa29717e4940f0845f0d43abd
}
Random _random = Random();
String randomHexString(int length) {
StringBuffer sb = StringBuffer();
for (var i = 0; i < length; i++) {
sb.write(_random.nextInt(16).toRadixString(16));
}
return sb.toString();
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1085 次 |
最近记录: |