Ubuntu aleth-web3.js 秘钥管理

By | 2018年12月8日

web3.js管理的秘钥信息存储在 ~/.web3/keys/ 中,格式为json

aleth客户端把这个文件叫key file)内容例:

{
    "address" : "0997172e42536686493feb20ad49c53814117c5e",
    "crypto" : {
        "cipher" : "aes-128-ctr",           // 加密方式
        "cipherparams" : {              // 该方式的加密参数
            "iv" : "3c918f5d4a91cb8c31c660002328f8f6"   // iv 偏移量(AES-CTR的初始化向量)
        },
        "ciphertext" : "9b2b8414a4fa80b8aaa5f261e9f9cb692abcc773c224a7bc5570ff81c864e2f1",      // 密文
        "kdf" : "scrypt",               // 密钥生成函数(Key Derivation Function),用于算解密秘钥
        "kdfparams" : {             // kdf算法需要的参数
            "dklen" : 32,
            "n" : 262144,
            "p" : 1,
            "r" : 8,
            "salt" : "a3a56701e452c3ed45ed80e7404fcffaa913081eb9f9718feadc614d72ab677a"
        },
        "mac" : "72bd966a7b894d4cd2d66e287dc4f961009953e32ab64267e0bbb698edfc391e"   // 用于验证密码的代码
    },
    "id" : "9ba021a3-4dfa-969e-9b4a-ed9b18e80a48",
    "version" : 3
}

简而言之,东西都是现算的

 

每次在ethconsole中调用personal.newAccount(…)都会在上面的目录中创建一个新的文件,新文件的address字段值为新账户的地址。但奇怪的是,每创建一个新账户,都会导致目录中所有文件的更新——在ubuntu系统中会提示该文件被更新(gedit提示文件changedFiles中的文件修改时间被更新),然而文件内容本身经md5sum获取的值却没有任何改变

对于密钥的导入和导出,可以一个叫做 keythereum 的东西进行

npm install keythereum

只能通过脚本使用。


写博不易,如果读的开心,可以考虑请我吃包辣条 ~

人间自有真情在,五毛一块也是爱

点击量:363

发表评论

邮箱地址不会被公开。 必填项已用*标注