一个使用 MoonBit 语言实现的 Keccak256 哈希算法库。Keccak256 是 SHA-3 标准的一部分,广泛应用于区块链和密码学领域。
// ✅ 推荐:计算字符串的哈希值(返回十六进制字符串)
let hash_hex = @lib.keccak256_string_hex("Hello, World!")
println(hash_hex)
// ✅ 推荐:获取字节数组形式的哈希值
let hash_bytes = @lib.keccak256_string("test")
// hash_bytes 是一个 32 字节的数组// ⚠️ 警告:由于 MoonBit 数组转换限制,字节数组哈希可能导致段错误
// 建议:先转换为十六进制字符串,然后使用字符串接口
let bytes : Array[Byte] = [b'\x01', b'\x02', b'\x03']
// let hash_hex = @lib.keccak256_hex(bytes) // 可能导致 SIGSEGV# 构建项目
moon build
# 运行示例程序
moon run cmd/main
# 运行测试
moon test
# 更新测试快照
moon test --updateLunarKeccak256/
├── cmd/
│ ├── lib/ # 核心库
│ │ ├── keccak.mbt # Keccak256 主实现
│ │ ├── utils.mbt # 工具函数
│ │ ├── keccak_test.mbt # 测试用例
│ │ └── moon.pkg.json # 包配置
│ └── main/ # 示例程序
│ ├── main.mbt # 主程序
│ └── moon.pkg.json # 包配置
├── moon.mod.json # 模块配置
└── README.mbt.md # 文档一个使用 MoonBit 语言实现的 Keccak256 哈希算法库。Keccak256 是 SHA-3 标准的一部分,广泛应用于区块链和密码学领域。