㈠ Bitcoin-qt客户端加密了,如何导入导出私钥拜托各位大神
一、Bitcoin-qt客户端加密后如需要导出某一地址对应的私钥,需要先调用 walletpassphrase 密码 解锁持续时间(秒),如:walletpassphrase h123456789*/* 120,注意留有英文空格。phrase为短语的意思。 然后 mpprivkey 地址 如:mpprivkey (33位公钥,字母区分大小写、数混合字) 就可以得到诸如: (52位私钥,字母区分大小写、数字混合)二、Bitcoin-qt客户端没有加密如需要导出某一地址对应的私钥,直接在RPC 控制台输入mpprivkey 地址就可以。多多试几个地址,你就可以知道,公钥和私钥都是成对使用的。一个公钥对应一个私钥。数据被Bitcoin-QT发送出去之前,需要两层加密,第一层是随机用某个公钥对应的私钥来加密数据,然后把这个公钥明文发送给收款方。收款方使用这个公钥打开对应私钥加密的数据,这样就可以确保数据是付款方发送。 第二层是用收款方的公钥(其实就是33位的收款地址)来加密。经过这次加密后,只有掌握这个公钥对应私钥的人,才能收到这笔钱。猜测,Bitcoin 钱包文件wallet.dat里面保存的应该是一对对的公钥和私钥。公钥和私钥一一对应。另外,可能出于安全性的考虑,Bitcoin-QT在加密钱包后是不能去掉密码的。 如要去掉密码,可以创建一个新钱包,然后把私钥导入到新钱包里去。 使用命令:importprivkey 私钥 私钥导入后,Bitcoin-QT会在“接收”窗口自动显示对应的地址(公钥)。而如果这个地址有BTC余额,那就恭喜你了,别人的钱就归你了。所以你可知道保护钱包文件wallet.dat的重要性了吧?加密钱包后,向别人发送(付款)BTC时,会被要求输入加密密码,这样安全性上多了一道保障。 查看原帖>>
㈡ Qt开发笔记:OpenSSL库介绍、windows上mingw32版本的OpenSSL编译模块化
OpenSSL介绍
OpenSSL是一个开放源代码的软件库,广泛用于互联网安全通信,如网页服务器,它提供SSL和TLS协议以避免数据被窃听,并确认连接方的身份。SSL协议在Internet上提供秘密性传输,成为工业标准,加密数据并在传输过程中防止篡改。
OpenSSL的特点包括:
1. 安全信道特性:数据保密性,信息加密保护数据机密性;数据完整性,校验传输数据是否被篡改;安全验证,使用密钥作为个人标识。
2. 开源特点:OpenSSL由Eric A. Young和Tim J. Hudson自1995年编写,是一个没有太多限制的开放源代码的软件包。它具有跨平台性能,支持Linux、Windows、BSD、Mac、VMS等。
3. 功能:OpenSSL软件包主要功能包括SSL协议库、应用程序以及密码算法库。它提供了密码算法、密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。
OpenSSL算法包括:
1. 密钥证书管理:提供证书和密钥相关标准的编解码、产生各种公开密钥对和对称密钥的方法、公钥和私钥的编解码以及私钥的加密保护功能。
2. SSL协议:实现了SSLv2、SSLv3和TLSv1.0。
3. 对称加密:提供了8种对称加密算法,包括AES、DES、Blowfish等。
4. 非对称加密:实现了DH算法、RSA算法、DSA算法和椭圆曲线算法。
5. 信息摘要:实现了MD2、MD5、SHA等5种信息摘要算法。
编译OpenSSL
在Windows上编译OpenSSL需要安装msys环境,将qt的mingw和perl拷贝到msys文件夹下,并添加路径。使用config命令配置安装路径和目录,修改Makefile中的Perl变量,然后执行mingw32-make.exe install命令进行编译安装。在配置时可能遇到操作系统类型错误,需要更换为msys1.0。编译过程中可能遇到找不到库定义的问题,解决方法是在配置时加两个参数。编译成功后可以进行测试和文件结构打包,最终获得静态库。
入坑问题解决
在编译OpenSSL过程中,可能会遇到Perl调用失败、操作系统类型错误、编译时找不到库定义等问题。解决方法包括修改顶层Makefile的Perl变量、更换为msys1.0、在配置时加两个参数等。最后执行mingw32-make.exe install命令并打包文件结构以完成编译过程。
㈢ Qt C++ DES加密ECB模式,Pkcs7或Pkcs5填充有代码吗
Qt是一个跨平台的C++图形用户界面库,提供了许多用于开发图形用户界面应用程序的工具和功能。Qt中内置了许多常用的加密和哈希算法,但是并没有提供直接的DES加密功能。
如果你想在Qt中使用DES加密,你可以使用OpenSSL库中的DES加密功能。下面是一个使用ECB模式和PKCS7填充的DES加密的例子:
#include <QByteArray>
#include <openssl/des.h>
// 加密函数
QByteArray encrypt(const QByteArray &data, const QByteArray &key)
{
// 对称加密算法需要使用秘钥,所以需要将秘钥进行哈希运算得到真正的秘钥
QByteArray realKey = QCryptographicHash::hash(key, QCryptographicHash::Md5);
// 分配内存空间,用于存储加密后的数据
QByteArray result(data.size() + 8, 0);
// 初始化DES加密算法
DES_cblock keyBlock;
memcpy(keyBlock, realKey.constData(), 8);
DES_key_schele schele;
DES_set_key_unchecked(&keyBlock, &schele);
// 设置填充模式为PKCS7
DES_set_padding(DES_PKCS7_PADDING);
// 调用OpenSSL库中的加密函数
DES_ecb_encrypt(reinterpret_cast<const_DES_cblock *>(data.constData()),
reinterpret_cast<DES_cblock *>(result.data()), &schele, DES_ENCRYPT);
return result;
}
㈣ WMV文件怎么播放不起
可能是采取播放的软件不支持WMV格式。
能够播放WMV文件的软件,包括Windows媒体播放器(Windows Media Player)、RealPlayer、MPlayer、Media Player Classic、VLC媒体播放器和KMP(K-Multimedia Player)。
其他各种平台(如Linux)上的第三方播放器,使用WMV格式的FFmpeg实现来进行播放。
WMV的安装默认是和微软Silverlight绑定的,但没有Silverlight的情况下也可通过定制安装完成。从Flip4Mac网站介绍来看,经由数字版权管理(DRM)加密的WMV文件和该QT组件并不兼容。
WMV文件一般同时包含视频和音频部分。
视频部分使用Windows Media Video编码,音频部分使用Windows Media Audio编码。作为一种有着高压缩率、体积小等优势的视频压缩格式,微软的WMV还是很有影响力的。可是由于微软本身的局限性其WMV的应用发展并不顺利。
第一, WM9是微软的产品它必定要依赖着Windows,Windows 意味着解码部分也要有PC, 起码要有PC机的主板。这就大大增加了机顶盒的造价,从而影响了视频广播点播的普及。
第二,WMV技术的视频传输延迟非常大,通常要10几秒钟,正是由于这种局限性,WMV也仅限于在计算机上浏览WM9视频文件。