时光链.加密库
.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/npm/tic.crypto#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 | latin1 | ascii)格式的输入 data 加 salt 后,根据 hasher(=sha256 | md5 | sha1 | sha512 | ripemd160),输出 output(=hex | latin1 | base64 | buf)格式的哈希值。 |
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 |