时光链.加密库
.gitignore | ||
.prettierrc.js | ||
index.js | ||
package.json | ||
README.md | ||
README.xlsx | ||
test.js |
tic.crypto
时光链区块链密码学算法工具库:为区块链相关应用开发提供一套底层的基础算法工具库,用来处理哈希、加解密、签名、助记词、等等。
-
支持 md5、sha256 等算法的哈希
-
基于 bip39 等算法的助记词生成、检验
-
基于 secp256k1 等曲线算法的签名、交易的加解密
-
其他辅助算法工具
硬件环境
- 机型:Mac 或 PC 机
- 内存:8GB 以上
- 硬盘:500G 以上
软件环境
- 操作系统:跨平台通用,支持 MacOS, Linux, Windows
- 开发环境:推荐 Visual Studio Code
- 运行环境:nodejs 12.16 版本
安装指南
在前后端软件的 package.json 的依赖清单中引入本库:
npm install git+https://git.faronear.org/tic/tic.action#RELEASE_OR_BRANCH --save
用法
基本用法示例:
let ticCrypto=require('tic.crypto') // 引用
let sw=ticCrypto.randomSecword() // 生成一个随机的助记词(即密语)。或者使用现成的密语。
let kp=ticCrypto.secword2keypair(sw) // 把密语转换成公私钥
let address=ticCrypto.secword2address(sw) // 把密语转换成地址
编程接口规范
函数名 | 参数 | 备注 |
---|---|---|
hash | (data, option={hasher:'sha256', salt, input:'utf8', output:'hex'}) | 哈希算法。给 input(=utf8 |
isHashable | (data) | |
isHash | ||
encrypt | (data, pwd, option={ cipher:'aes-256-cfb', input:'utf8', output:'hex' }) | |
decrypt | (data, pwd, option={ cipher:'aes-256-cfb', input:'hex', output:'utf8' }) | |
sign | (data, seckey, option) | |
isSignature | ||
verify | (data, signature, pubkey, option) | |
pass2keypair | ||
secword2keypair | 密语到公私钥 { pubkey, seckey } | |
seckey2pubkey | ||
secword2account | 密语到账户 { address, pubkey, seckey } | |
secword2address | 密语到地址 address | |
isSecword | ||
isSeckey | ||
isPubkey | ||
isAddress | ||
pubkey2address | ||
secword2seed | ||
randomSecword | (lang) | lang=[ 'CHINESE', 'ENGLISH', 'FRENCH', 'ITALIAN', 'JAPANESE', 'SPANISH' ] |
randomSeckey | ||
randomKeypair | ||
randomString | ||
randomNumber | ||
randomUuid: { [Function: v4] v1 | ||
getMerkleRoot | ||
distanceSig | ||
compareSig | ||
sortSigList | ||
getString2Sign | ||
rsaSign | ||
rsaVerify |