tp钱包的重置密码方法【tokenPocket】

当初次使用 tokenPocket ( tp 钱包)的时候,你可能会发现,注册完账号后,它默认是需要填写一个交易密码的,有的人心急,就随便填写了一个,想着后面再改,谁知后面要改的时候,才发现,重置或者修改密码是有条件的。
请添加图片描述

通过助记词

tp 钱包app 提供了重置密码的模块,但是需要用该账号的助记词来验证,大多数情况下你都是有助记词的,所以直接输入助记词即可设置新密码,但是如果刚好,你新注册的钱包还没来得及备份助记词,那这个方法就没法用了。

修改密码

除了通过助记词,还可以用旧密码来验证,如果你记得设置的密码,就可以用旧密码作为验证来设置新密码,不过一般都是旧密码忘记了,才会来想办法设置新密码。。所以这个实际场景下没啥用。

指纹支付

如果怕忘记密码,可以开启指纹支付功能,这个是需要手动来开启的,在注册完钱包后,打开钱包详情页面,就看到指纹支付入口,设置以后,就不需要用密码来验证支付了,也不怕忘记密码了。

如果刚好忘记了助记词和密码怎么办?

有的倒霉鬼,粗心大意的,对新注册的钱包还没来得及备份助记词,就把密码也忘记了,里面的资产就转不出来了,很多人就是这样永远的丢失了数字资产。

其实,对于这种情况,还不到彻底死心的地步,虽然常规的方法没提供找到、重置密码的方法,但是如果懂技术,用 python 等程序脚本,还可以暴力破解尝试所有可能的密码,通过这种途径,也有找到密码的可能。

技术破解提供一个思路

首先要用代码逆向抓包等技术,获取加密 hash,并找到密码加密和解密的算法, 然后用专业的hash 解密工具和设备进行暴力穷举。

示例代码:

function a(e, t) {
    var r = i.utf8ToBuffer(e);  // e 是码
    var o = i.base64ToBuffer(t); // t 是 salt
    
    return global.crypto.subtle.importKey(
        "raw", 
        r, 
        { name: "PBKDF2" }, 
        false, 
        ["deriveBits", "deriveKey"]
    ).then(function(e) {
        return global.crypto.subtle.deriveKey(
            {
                name: "PBKDF2",
                salt: o,
                iterations: 10000,
                hash: "SHA-256"
            },
            e,
            {
                name: "AES-GCM",
                length: 256
            },
            false,
            ["encrypt", "decrypt"]
        );
    });
}

总结

对大多数去中心化钱包而言,密码没多大意义,并且丢失后,很难找回,所以平常要细心一些,注意保护好自己的密码哦。

Web3.js 对接 OK Web3 钱包及示例代码: 1. 导入 Web3.js 库并创建一个 Web3 实例: ```javascript const Web3 = require('web3'); const web3 = new Web3('https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID'); ``` 请替换 `YOUR_INFURA_PROJECT_ID` 为你的 Infura 项目 ID。Infura 是一个免费的以太坊节点服务提供商。 2. 对接 OK Web3 钱包: ```javascript const okWeb3 = new Web3(window.okchain); web3.setProvider(okWeb3.currentProvider); ``` 现在,你可以使用 `web3` 对象与 OK Web3 钱包进行交互了。 3. 合约方法调用: ```javascript const contractABI = [ /* 合约 ABI */ ]; const contractAddress = '0x1234567890abcdef1234567890abcdef12345678'; const myContract = new web3.eth.Contract(contractABI, contractAddress); // 调用合约方法 myContract.methods.myMethod(arg1, arg2) .send({ from: '0x1234567890abcdef1234567890abcdef12345678', gas: 1000000 }) .then(receipt => { console.log('交易成功:', receipt); }) .catch(error => { console.error('交易失败:', error); }); ``` 请替换 `合约 ABI`、`contractAddress`、`myMethod`、`arg1`、`arg2` 和 `from` 为你的合约信息和调用参数。 4. 合约事件监听: ```javascript // 监听合约事件 myContract.events.MyEvent({ filter: { myParam: [20, 30] } }) .on('data', event => { console.log('收到事件:', event); }) .on('error', error => { console.error('监听事件失败:', error); }); ``` 请替换 `MyEvent` 和 `myParam` 为你的合约事件名称和过滤参数。 Web3.js 对接 TP 钱包及示例代码: 1. 导入 TP 钱包 SDK: ```javascript import { Tp } from 'tp-js-sdk'; ``` 2. 创建 TP 实例并初始化: ```javascript const tp = new Tp('YOUR_DAPP_ID', 'YOUR_CONTRACT_ADDRESS'); ``` 请替换 `YOUR_DAPP_ID` 为你的 DApp ID,`YOUR_CONTRACT_ADDRESS` 为你的合约地址。 3. 合约方法调用: ```javascript // 调用合约方法 tp.callContractMethod('myMethod', [arg1, arg2]) .then(result => { console.log('调用成功:', result); }) .catch(error => { console.error('调用失败:', error); }); ``` 请替换 `myMethod` 和 `arg1`、`arg2` 为你的合约方法名称和调用参数。 4. 合约事件监听: ```javascript // 监听合约事件 tp.listenContractEvent('MyEvent', { myParam: [20, 30] }) .then(event => { console.log('收到事件:', event); }) .catch(error => { console.error('监听事件失败:', error); }); ``` 请替换 `MyEvent` 和 `myParam` 为你的合约事件名称和过滤参数。 以上是 Web3.js 对接 OK Web3 钱包TP 钱包的示例代码。请根据你的具体合约和需求进行调整和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值