-
當(dāng)前位置:首頁(yè) > 創(chuàng)意學(xué)院 > 技術(shù) > 專(zhuān)題列表 > 正文
pbkdf2(PBKDF2加密)
大家好!今天讓創(chuàng)意嶺的小編來(lái)大家介紹下關(guān)于pbkdf2的問(wèn)題,以下是小編對(duì)此問(wèn)題的歸納整理,讓我們一起來(lái)看看吧。
開(kāi)始之前先推薦一個(gè)非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對(duì)話(huà)答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫(xiě)出的就越詳細(xì),有微信小程序端、在線(xiàn)網(wǎng)頁(yè)版、PC客戶(hù)端
官網(wǎng):https://ai.de1919.com。
創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶(hù)遍布全球各地,如需了解SEO相關(guān)業(yè)務(wù)請(qǐng)撥打電話(huà)175-8598-2043,或添加微信:1454722008
本文目錄:
一、BIP39:助記詞
BIP39是SEED的生成算法.如果你用過(guò)比特幣錢(qián)包應(yīng)用,很可能它會(huì)為你生成一個(gè)助記符。這樣的助記符可以用來(lái)替代私鑰,并且可以被用于生成私鑰。用“有意義的”助記詞代替無(wú)意義的數(shù)字,也就是“密語(yǔ)種子”,密語(yǔ)種子更加便于記憶和抄錄,它可以轉(zhuǎn)化成適用于BIP32的“數(shù)字種子”。構(gòu)造Script.ScriptType.P2PKH類(lèi)型的鑰匙串KeyChainGroup
DeterministicSeed 第三個(gè)參數(shù)是密碼,默認(rèn)為空,試著自己加了密碼也ok,總之不影響隨機(jī)熵的創(chuàng)建。從SecureRandom創(chuàng)建隨機(jī)熵
對(duì)string集合進(jìn)行加鹽操作,salt隨機(jī),用PBKDF2SHA512加密算法加密.
PBKDF2SHA512 助記詞+鹽進(jìn)行2048次sha256每次產(chǎn)生的seed都是不同的!
https://iancoleman.io/bip39/?#english 翻墻查看,把 mnemonic code 記錄下來(lái)好好保存,就會(huì)是一個(gè)冷錢(qián)包(指不連網(wǎng)路的錢(qián)包,所以安全很多)??梢允褂卯a(chǎn)生出來(lái)的 address 收送錢(qián)。
二、助記詞的生成原理
別人的庫(kù)多半都是只實(shí)現(xiàn)了部分功能,所以fork了人家的源碼,在此基礎(chǔ)上增加了實(shí)用功能,保證通過(guò)助記詞恢復(fù)和對(duì)助記詞的校驗(yàn),避免了因隨意輸入助記詞便可恢復(fù)成私鑰的過(guò)程。原作者的實(shí)現(xiàn)并非十分高效,但接口很直觀(guān),該有的功能很全面,做法有很多,開(kāi)源能使它更好。僅當(dāng)學(xué)習(xí)。
https://github.com/alphaqiu/mnemonic
BIP39是助記詞標(biāo)準(zhǔn)的實(shí)現(xiàn),助記詞是一個(gè)隨機(jī)數(shù)的字序列,用來(lái)作為種子產(chǎn)生一個(gè)確定性的錢(qián)包。單詞序列足以重新創(chuàng)建種子,然后再創(chuàng)建錢(qián)包和所有派生的密鑰。一個(gè)實(shí)現(xiàn)帶有助記詞的確定性錢(qián)包應(yīng)用程序在首次創(chuàng)建錢(qián)包時(shí)將向用戶(hù)顯示12到24個(gè)單詞的序列。該單詞序列是錢(qián)包備份,可用于恢復(fù)和重新創(chuàng)建相同或任何兼容的錢(qián)包應(yīng)用程序中的所有密鑰。記憶單詞使用戶(hù)更容易備份錢(qián)包,因?yàn)榕c隨機(jī)數(shù)字序列相比,它們易于閱讀和正確地轉(zhuǎn)錄。所有的助記詞在這里可以查看:助記詞詞庫(kù)。
使用BIP39中定義的標(biāo)準(zhǔn)化過(guò)程,錢(qián)包自動(dòng)生成助記詞。錢(qián)包從一個(gè)熵源開(kāi)始,添加一個(gè)校驗(yàn)和,然后將熵映射到一個(gè)單詞列表,具體步驟如下:
下表描述了初始熵長(zhǎng)度(ENT),校驗(yàn)和長(zhǎng)度(CS)和單詞中生成的助記詞(MS)的長(zhǎng)度之間的關(guān)系。
用戶(hù)可以決定用密碼來(lái)保護(hù)他們的助記符。如果不存在密碼短語(yǔ),則使用空字符串“”。
助記詞代表長(zhǎng)度為128到256位的熵。然后使用熵通過(guò)使用密鑰擴(kuò)展函數(shù)PBKDF2來(lái)導(dǎo)出更長(zhǎng)(512位)的種子。然后,所產(chǎn)生的種子用于構(gòu)建確定性錢(qián)包并獲得其密鑰。
密鑰擴(kuò)展功能有兩個(gè)參數(shù):助記詞和鹽(salt)。密鑰擴(kuò)展功能中的鹽的目的是使得難以構(gòu)建能夠進(jìn)行暴力攻擊的查找表。在BIP-39標(biāo)準(zhǔn)中,salt具有另一個(gè)目的 - 它允許引入密碼短語(yǔ)作為保護(hù)種子的額外安全因子。
三、1. Crypto 加密算法
Hash,音譯為哈希,也叫散列函數(shù)、摘要算法。它是把任意長(zhǎng)度的輸入,通過(guò)散列算法變換成固定長(zhǎng)度的輸出,該輸出就是散列值。
常用的哈希算法有:
MD5 信息摘要算法 (MD5 Message-Digest Algorithm),一種被廣泛使用的密碼散列函數(shù),可以產(chǎn)生出一個(gè)128位(16字節(jié))的散列值,用于確保信息傳輸完整一致。
SHA (Secure Hash Algorithm),即安全散列算法。散列算法又稱(chēng)雜湊算法或哈希算法,能將一定長(zhǎng)度的消息計(jì)算出固定長(zhǎng)度的字符串(又稱(chēng)消息摘要)。SHA包含5個(gè)算法,分別是SHA-1、SHA-224、SHA-256、SHA-384和SHA-512,后四者并稱(chēng)為SHA-2。
循環(huán)冗余校驗(yàn) (Cyclic redundancy check,通稱(chēng)“ CRC ”)是一種根據(jù)網(wǎng)絡(luò)數(shù)據(jù)包或電腦文件等數(shù)據(jù)產(chǎn)生簡(jiǎn)短固定位數(shù)校驗(yàn)碼的一種散列函數(shù),主要用來(lái)檢測(cè)或校驗(yàn)數(shù)據(jù)傳輸或者保存后可能出現(xiàn)的錯(cuò)誤。生成的數(shù)字在傳輸或者存儲(chǔ)之前計(jì)算出來(lái)并且附加到數(shù)據(jù)后面,然后接收方進(jìn)行檢驗(yàn)確定數(shù)據(jù)是否發(fā)生變化。一般來(lái)說(shuō),循環(huán)冗余校驗(yàn)的值都是32位的整數(shù)。
AES ,高級(jí)加密標(biāo)準(zhǔn)(Advanced Encryption Standard),又稱(chēng) Rijndael 加密法,是美國(guó)聯(lián)邦政府采用的一種區(qū)塊加密標(biāo)準(zhǔn)。
MAC ,消息認(rèn)證碼(帶密鑰的 Hash 函數(shù)):密碼學(xué)中,通信實(shí)體雙方使用的一種驗(yàn)證機(jī)制,保證消息數(shù)據(jù)完整性的一種工具。構(gòu)造方法由 M.Bellare 提出,安全性依賴(lài)于 Hash 函數(shù),故也稱(chēng)帶密鑰的 Hash 函數(shù)。消息認(rèn)證碼是基于密鑰和消息摘要所獲得的一個(gè)值,可用于數(shù)據(jù)源發(fā)認(rèn)證和完整性校驗(yàn)。
PBKDF2 (Password-Based Key Derivation Function)是一個(gè)用來(lái)導(dǎo)出密鑰的函數(shù),常用于生成加密的密碼。它的基本原理是通過(guò)一個(gè)偽隨機(jī)函數(shù)(例如 HMAC 函數(shù)),把明文和一個(gè)鹽值作為輸入?yún)?shù),然后重復(fù)進(jìn)行運(yùn)算,并最終產(chǎn)生密鑰。如果重復(fù)的次數(shù)足夠大,綠色的成本就會(huì)變得很高。而鹽值的添加也會(huì)增加“彩虹表”攻擊的難度。
在需要使用 CryptoSwift 的地方將其 import 進(jìn)來(lái):
歡迎留言討論,有錯(cuò)誤請(qǐng)指出,謝謝!
Swift 開(kāi)發(fā)學(xué)習(xí)交流,聯(lián)系我 QQ:3500229193 入群,請(qǐng)備注“Swift 學(xué)習(xí)”!
四、密碼格式是什么?
這樣問(wèn)不好回答,先來(lái)說(shuō)明密碼本身
1:純數(shù)字密碼(這個(gè)好多,銀行的,手機(jī)的)
2:字母加數(shù)字密碼(這個(gè)也好多,好多網(wǎng)站后臺(tái))
3:字母加數(shù)字加特殊符號(hào)密碼(這個(gè)也好多,好多網(wǎng)站后臺(tái))
4:手勢(shì)密碼(網(wǎng)絡(luò)或手機(jī))
5:指紋聲音臉密碼(大多門(mén)禁,也有手機(jī))
6:定位密碼(大多智能家居,這些也算密碼)
7:隨機(jī)密碼(銀行,衛(wèi)星,軍事等等)
密碼加密方式
1:明文保存
2:對(duì)稱(chēng)加密算法來(lái)保存
3:MD5、SHA1等單向HASH算法
4:PBKDF2算法
5:bcrypt、scrypt等算
6:以上各種組合
7:矩陣密碼
怕說(shuō)不完,太多了。
以上就是關(guān)于pbkdf2相關(guān)問(wèn)題的回答。希望能幫到你,如有更多相關(guān)問(wèn)題,您也可以聯(lián)系我們的客服進(jìn)行咨詢(xún),客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。
推薦閱讀:
pbf轉(zhuǎn)百度云(百度網(wǎng)盤(pán)pdf轉(zhuǎn)epub格式)
chat.openai拒絕訪(fǎng)問(wèn)(cannot open clipboard-拒絕訪(fǎng)問(wèn))
酒店ota平臺(tái)的運(yùn)作和管理(酒店客控系統(tǒng)哪些品牌好)
杭州美術(shù)館怎么預(yù)約(杭州美術(shù)館怎么預(yù)約參觀(guān))