当前位置:首页 » 比特币问答 » btc生成私钥工具

btc生成私钥工具

发布时间: 2021-08-04 10:22:33

㈠ 如何利用keytool工具生成数字证书

方法/步骤

查看JDK1.6是否安装,出现如下界面说明JDK已经安装

执行“keytool -genkey -alias test -keyalg RSA -keysize 1024 -keystore test.jks -validity 365”,弹出如下界面

设置JKS的密码为“123456”后,出现如下界面:

输入“名字”、“单位名称”、“组织名称”、“所在的城市”、“省份”以及“国家”,系统会提示主题名称是否正确,并设置JKS的主密码

利用"keytool -list -v -keystore test.jks"查看JKS中生成的证书的详细信息

利用“keytool -alias test -exportcert -keystore test.jks -file test.cer”,导出证书,并可以双击打开证书查看证书信息

㈡ windows怎么生成公钥私钥

公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。 公钥是通过一种算法得到的一个密钥对(即一个公钥)其中的一个向外界公开,称为公钥。通过这种算法得到的密钥对能保证在世界范围内是唯一的。 使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。比如用公钥加密数据就必须用私钥解密,否则解密将不会成功。公开钥匙算法大多基于计算复杂度上的难题,通常来自于数论。例如,RSA源于整数因子分解问题;DSA源于离散对数问题。近年发展快速的椭圆曲线密码学则基于和椭圆曲线相关的数学难题,与离散对数相当。由于这些底层的问题多涉及模数乘法或指数运算,相对于分组密码需要更多计算资源。因此,公开钥匙系统通常是复合式的,内含一个高效率的对称钥匙算法,用以加密信息,再以公开钥匙加密对称钥匙系统所使用的钥匙,以增进效率。其缺点是对大容量的信息加密速度慢,优点是可以作为身份认证,而且密钥发送方式比较简单安全。常见的公开密钥加密算法有RSA,DSA,ECA等。

㈢ 如何用已有的证书文件和私钥文件生成keystore-CSDN论坛

(1)Openssl公私钥
使用Openssl公钥私钥用于外部商户系统xxx系统间报文安全性验证使用者需要公私钥直接报文进行处理则参考第四部计算摘要及签名值
1. 安装openssl步骤直接点击exe文件现需要安装vs2008插件直接忽略

2. 安装程找OpenSSL相应安装目录进入bin目录找openssl.exe执行文件点击运行别按顺序输入命令:
a. genrsa –out private-rsa.key 1024
说明:该命令没加密私钥
genrsa 私钥文件私钥存储private-rsa.key度1024out面指定输文件名
private-rsa.key 私钥文件该文件必须经处理私钥

b. req –new –x509 –key private-rsa.key –days 750 –outpublic-rsa.cer
说明:根据private-rsa.key证书public-rsa.cer
-new 表示新请求
-509 表示输证书结构
750表示证书效数
-out public-rsa.cer -out面表示公钥证书用于验证数字签名公钥证书或者公钥需要提前发送给需要验证本单位或部门数据接收

c. pkcs12 –export –name test-alias –in public-rsa.cer–inkey private-rsa.key –out 99bill-rsa.pfx
说明:PKCS12 格式Keystore
密码前输入要致密码用Keystore公私钥程用
Public-rsa.cer, private-rsa.key前

附1:
述代码99bill-rsa.pfx获取私钥Java版本代码private-rsa.key私钥直接使用必须进行定处理
代码几注意点:
文件流初始化路径需要根据自实际路径填写
密码第二节c步骤密码本实例输入suning
KeyStorekeyStore = KeyStore.getInstance("PKCS12");
= newFileInputStream("D:/OpenSSL/bin/99bill-rsa.pfx");
char[]nPassword = "suning".toCharArray();
StringkeyAlias = null;
keyStore.load(fileInputStream,nPassword);
fileInputStream.close();
System.out.println("keystoretype=" + keyStore.getType());
Enumerationenumeration = keyStore.aliases();
if(enumeration.hasMoreElements())
{
keyAlias = (String) enumeration.nextElement();
System.out.println("alias=[" + keyAlias +"]");
}
System.out.println("iskey entry=" + keyStore.isKeyEntry(keyAlias));
PrivateKeyprikey = (PrivateKey) keyStore.getKey(keyAlias, nPassword);
//私钥转字符串
StringprivateStr = Base64.encodeBase64String(prikey.getEncoded()).trim();
//公钥字符串通cer证书
Certificatecert = keyStore.getCertificate(keyAlias);
PublicKeypubkey = cert.getPublicKey();
StringpublicStr = Base64.encodeBase64String(pubKey.getEncoded()).trim();
注意:
1. 所用类说明:
Base64:
import org.apache.commons.net.util.Base64;
Certificate:
import java.security.cert.Certificate;
2. openssl公私钥程用户输入密码本例密码suning

1. 摘要及
摘要程(digest全部实现述3程):
1. 根据key传map数据排序;
2. a1=b1&a2=b2&a3=b3形式字符串排除某些字符串Key值;
3. 调用digest进行md5编码;
三步均通Digest.digest()实现:
String digest = Digest.digest(Map map, String... keys);
传递http报文体body内容a1=b1&a2=b2&a3=b3形式字符串提取需要加签字符串并转map形式execludeKes要排除字段字符串数组
计算摘要步关键选取字段要求发送接收必须致即发送哪些字段计算摘要同接收必须相同字段计算摘要否则报6601错误
说明:a. Map存储计算摘要字段
b. keys表示排除字段能用于计算摘要字段signature,signAlgorithm
2. 公钥证书及字符串转换
转换目:便于存储(商户直接提供公钥证书于向验签系统提供公钥字符串商户需要用述代码公钥转字符串)
1. 公钥/私钥字符串转公钥/私钥主要字符串转公钥PublicKey
X509EncodedKeySpec pubKeySpec = newX509EncodedKeySpec(Base64.decodeBase64(strPubKey));
KeyFactorykeyFactory = KeyFactory.getInstance(RSA);
PublicKeypubKey = keyFactory.generatePublic(pubKeySpec);
2. 公钥或私钥转Base64字符串:
StringpublicStr = Base64.encodeBase64String(pubKey.getEncoded()).trim();
3. 公私钥验证
验证目:公私钥需要验证否匹配(前许商户公私钥混乱确定公私钥否匹配添加验签系统)代码由用户自用junit验证运行验证公私钥否确resulttrue则说明公私钥确;否则公私钥问题能使用
String prik1 ="";
String pubb ="";
String data ="wkk";
String digest =Digest.digest(data);
PrivateKey privateKey =RSAUtil.getPrivateKey(prik1);
String sign =RSAUtil.sign(digest, privateKey);
boolean result =RSAUtil.vertiy(digest, sign,
RSAUtil.getPublicKey(pubb));
System.out.println(result);

㈣ 怎样查看比特币钱包私钥

比特币钱包私钥在线无法查看,比特币存在平台要下载core 或者classic才是真正的钱包,然后就可以查看了。

【比特币钱包私钥的说明】:

1、钱包加密是指对储存有私钥的钱包进行自动加密存储。 比特币官方客户端从0.4.0 版本开始支持钱包加密。加密的钱包在每次付款的时候,都会提示您输入密码。如果密码错误,客户端会拒绝付款。

2、如果用最早备份的钱包(wallet.dat)替换回来,还是一样可以正常交易。考虑到比特币的原理应该也可得出,只要有私钥(钱包)存在,就可以证明你是这个钱包的合法拥有者,不管对这个钱包(核心就是某个地址对应的私钥)是进行了加密还是删除,都不能否定它。

3、备份比特币钱包时,还需注意由于比特币支付找零机制的存在(比如把一个完整的100 btc中的50 btc发送给某个地址,系统会发送其中的50 btc到对方的地址,并退回50 btc到你客户端的一个新地址上,这个地址不会直接显示在你的地址列表中)。

4、每发送了100次比特币给其它地址或者使用了100个不同的地址接收比特币后,请重新备份钱包,否则后面交易退回的和接收到的比特币会永久丢失。 除了给钱包加密外,用户还可以自行生成离线的纸钱包和脑钱包。

㈤ 比特币钱包私钥是什么

币姐为了让新人更容易理解,会使用一些比喻来讲,虽然不太严谨,但是会更好理解。
私钥就好像你的银行卡密码
比特币钱包地址就好像你的银行卡
只要有了银行卡和密码,谁都能从ATM上取钱。
而比特币钱包地址是公开的,相当于别人都有你的银行卡,所以这个时候你的银行卡密码(私钥)就变得十分重要了!
一旦泄露你的密钥,别人就可以把你的比特币转走。

网络搜索:“币姐教你比特币”或者“币姐”找到我,更多精品内容分享哦~!

㈥ bitcoin私钥是如何产生的

比特币地址和私钥是怎样生成的?比特币使用椭圆曲线算法生成公钥和私钥,选择的是secp256k1曲线。生成的公钥是33字节的大数,私钥是32字节的大数,钱包文件wallet.dat中直接保存了公钥和私钥。我们在接收和发送比特币时用到的比特币地址是公钥经过算法处理后得到的,具体过程是公钥先经过SHA-256算法处理得到32字节的哈希结果,再经过RIPEMED算法处理后得到20字节的摘要结果,再经过字符转换过程得到我们看到的地址。这个字符转换过程与私钥的字符转换过程完成相同,步骤是先把输入的内容(对于公钥就是20字节的摘要结果,对于私钥就是32字节的大数)增加版本号,经过连续两次SHA-256算法,取后一次哈希结果的前4字节作为校验码附在输入内容的后面,然后再经过Base58编码,得到字符串。

㈦ 私钥公钥如何生成

常用命令如下:--生成RSA私钥(传统格式的)openssl genrsa -out rsa_private_key.pem 1024--将传统格式的私钥转换成PKCS#8格式的openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt--生成RSA公钥openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem

㈧ 比特币能不能往一个离线生成的钱包存币

你好,你的问题中有几个关键点需要特别注意,我分别阐述如下:

  1. 你的描述中的"下载一个比特币钱包软件":这一步就值得小心谨慎,首先你的目的是离线制作比特币纸钱包,那么你要下载的其实是[比特币离线纸钱包制作工具],而且这些工具良莠不齐,甚至有的非常有风险,那么要选择怎样的[纸钱包制作工具]呢?一定是历经多年大家共同认可,且开源的(就是源代码都是完全开放的)的 [安全的比特币离线纸钱包]制作工具才行,历经多年,则经历了时间的考验,关于这点可以网络搜索对比了解,建议搜索[安全的比特币离线纸钱包],多了解对比,要舍得花时间。

  2. 离线制作比特币离线纸钱包,要“拔掉网线”这是对的,这时的确你制作纸钱包的电脑 就与整个互联网完全隔绝的,这正是离线 的意义所在,这时你不用担心,因为比特币的钱包地址与私钥只是一个凭证,比特币并不是真正的要放进这个钱包里(这和现实中的钱包是完全不同的,可网络了解下),比特币属于哪个钱包地址,只是在比特币区块链网络上的的公共几本的记载而已,因此,你生成的比特币离线纸钱包是可以放心使用的,关键点在于你真正把比特币离线纸钱包的私钥地址抄写到了纸上,而且保证没有抄错,把公钥保存了下来,以便接收别人的比特币转账,那么这时,你生成的比特币离线 纸钱包是完全会得到比特币网络的承认的。

  3. 你问题描述中提到“我用纸把公钥私钥记了下来,然后把电脑砸个稀巴烂,然后用用火烧掉主机屏幕”——这其实完全不用,只要你离线制作比特币离线纸钱包的过程中,拔掉了网线,也没有人可以偷看到你的屏幕,那么只要选择的是安全比特币离线纸钱包工具,得到的钱包就是安全的,当然最重要的是,你要把抄写有比特币离线纸钱包的私钥的纸条最好存放到防火防水的保险柜中。至于你用以生成比特币离线纸钱包的电脑 ,不用砸坏它,最多把硬盘销毁就可以了,前面搜索的安全比特币离线纸钱包教程中就有详细的说明后续处理要怎么做。

  4. 最后你提到的向自己离线生成的比特币纸钱包中转币的操作,这与向其它任何一个比特币地址转账没有任何不同,同步过程都是在整个比特币区块链网络中进行的,是需要等待,但是这是整个网络的确认过程。

希望我的回答能够帮助你,建议先充分 学习了解后再操作。

㈨ 如何用已有的证书文件和私钥文件生成keystore

首先不能使用java的类库.除非你使用了JNI但是与其这样,不如直接使用JAVA第二访问https可以使用OpenSSL,keystore文件中的证书只是个密钥.提取出来后完全可以用一般的SSL方式进行post或者get连接代码互联网上有的是

㈩ 如何导出keystore中的私钥

使用java程序语言导出私钥的方式,下载kestore-export.工具:
Java Runtime的目录,指包含Java.exe和keytool.exe的目录,如:
c:\progra~1\Java\jre1.5.0_06\bin
例如:
Cmd代码
JKS2PFX server.jks 123456 tomcat exportfile c:\progra~1\Java\jre1.5.0_06\bin

热点内容
区块链币圈今天的话题 发布:2025-07-05 15:22:06 浏览:796
玩区块链的人群 发布:2025-07-05 15:06:06 浏览:123
VP币是传销还是真正区块链 发布:2025-07-05 15:01:21 浏览:453
个人还能挖比特币吗 发布:2025-07-05 14:46:43 浏览:680
币圈财富自由论坛 发布:2025-07-05 14:12:52 浏览:844
挖比特币有没有风险 发布:2025-07-05 14:02:51 浏览:82
BE区块链生态算网络传销吗 发布:2025-07-05 13:34:31 浏览:657
币圈是什么控制涨跌 发布:2025-07-05 12:51:01 浏览:385
以太坊的运作过程 发布:2025-07-05 12:34:09 浏览:207
如何销售区块链会议 发布:2025-07-05 11:34:12 浏览:219