㈠ 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視頻文件。