步驟1:了解現有技術,項目和產品
我相信很多人仍然使用上面描述的技術來記住他們的密碼,即他們將它們存儲在筆記本或便利貼上。這有兩個原因是危險的。顯然,如果有人偷了你的筆記本電腦,那么游戲結束了。 PasswordPump會對您的密碼進行加密,并需要輸入主密碼才能訪問所有其他密碼;所以如果有人偷了它,他們仍然無法獲取你的密碼。其次,人們并不總是選擇真的難以猜測的密碼,甚至是用字典攻擊來暴力破解。密碼泵的最佳功能之一是它允許您生成并記住31個字符密碼,這些密碼是ASCII字符,數字和符號的隨機混合。
我認為與PasswordPump功能集最匹配的商業產品是Mooltipass Mini Offline Password Keeper;在撰寫本文時,運費前$ 79.00。 Mooltipass在某些重要方面有所不同,似乎是一個很好的,成熟的開源產品,也是建立在ATMega32u4上的。我最近才意識到一個開源密碼管理器Memtype,它聲稱是“一個優雅的解決方案,可以將你的憑據存儲在各處”。它看起來真的很酷,其中最酷的一點是它建立在ATTiny上!最后,在這個網站上有另一個類似的項目,Arduino Pro Micro上的密碼管理器,這是一個很好的例子,甚至提供了一種通過PC上的程序編輯憑據的方法。但是,Mooltipass,Memtype或密碼管理員不是這個項目的靈感來源。這個項目的靈感來自Automated Password Typer。然而,憑據被硬編碼到Automated Password Typer中,并且無法添加新的,刪除舊的或編輯現有憑證(除了修改源代碼,重新編譯和重新刷新);和鎖定位未設置為保護憑據。我開始擴展該項目中提出的想法,之后有2000行代碼,使用PasswordPump登陸。
步驟2:獲取零件
數量 描述成本
- 1 Arduino Pro Micro $ 2.87
- 1 RGB LED 0.02
- 2電阻4.7k~0.03
- 3電阻220~0.04
- 1自定義PCB 1.10
- 1旋轉編碼器0.42
- 1旋鈕0.15
- 1 OLED 128x32 1.64
- 1瞬時按鈕0.01
- 2 25LC256外部EEprom 1.89
* 零件總成本:8.17美元
*請記住,您需要一根微型USB轉USB線和面包板
步驟3 :進行硬件連接
此處提供了Fritzing圖。這些表也可以在這里找到,我可以更好地格式化它們,這可能會更有幫助。
Arduino Pro Micro (帶ATMega32u4微控制器)
數據表
Arduino Pro Micro 引腳編號。,名稱,Arduino,AVR, - 連接到/注釋
TX D1 PD3 - 未連接
RX D0 PD2-未連接
GND-未連接
GND-未連接
SDA D2 PD1 - SSD1306 SDA,4.7k上拉
SCL D3 PD0 - SSD1306 SCL,4.7k上拉
A6 D4 PD4 - 未連接
D5 PC6 - 未連接
A7 D6 PD7 - 用于25LC256的引腳1備用芯片選擇
D7 PE6 - 旋轉按鈕
A8 D8 PB4 - 旋轉銷2
A9 D9 PB5 - 旋轉銷1
A10 D10 PB6 - 針對25LC256的針1主芯片選擇
MOSI D16 PB2 - 引腳5主25LC256,備用25LC256
MISO D14 PB3 - 引腳2主25LC256,備用25LC256
SCLK D15 PB1 - 引腳6主25LC256,備用25LC256
A0 D18 PF7-未連接,必須浮動用于隨機#發電機
A1 D19 PF6 - 紅色RGB引腳
A2 D20 PF5 - 綠色RGB引腳
A3 D21 PF4 - 藍色RGB引腳
Vcc(+ 3V) - 正軌
復位 - 復位按鈕
GND - 負極接地軌,GND RGB,GND SSD1306,GND編碼器按鈕,GND 2 25LC256芯片
RAW(USB + 5V) - 未連接
25LC256 (外部EEprom)測試部件:MICROCHIP - 25LC256-I/P - 256K SPI?總線串行EEPROM DIP8
數據表
1st 25LC256
Number。,Name,ConnectTo,Note
CS D10 PB6 - 引腳13 promicro芯片選擇輸入
SO D14 - 引腳15 promicro MISO - 串行數據輸出
WP VCC - 引腳21 promicro寫保護
Vss GND - 引腳23 promicro接地
SI D16 - 引腳14 promicro MOSI - 串行數據輸入
SCK D15 - 引腳16 promicro SCLK - 串行時鐘輸入
HOLD VCC - 引腳21 promicro保持輸入
Vcc VCC - 引腳21電源電壓
第二25LC256
編號。,名稱,連接,注意
CS D10 PD7 - 引腳06 promicro芯片選擇輸入
SO D14 - 引腳15 promicro MISO - 串行數據輸出
WP VCC - 引腳21 promicro寫保護
Vss GND - 引腳23 promicro接地
SI D16 - 引腳14 promicro MOSI - 串行數據輸入
SCK D15 - 引腳16 promicro SCLK - 串行時鐘輸入
HOLD VCC - 引腳21 promicro保持輸入
Vcc VCC - 引腳21 promicro電源電壓
Ste第4頁:源代碼
源代碼可在此處找到。它在線記錄很多,所以我不打算在這里逐行完成。
我確定程序中還有缺陷(實際上,我所知道的所有缺陷都列在程序頂部的注釋部分,還有一個列表我所提到的缺陷)。因此,使用該產品需要您自擔風險。
重要:我建議您在添加,刪除或修改憑據時備份對主EEprom所做的更改,以使您的輔助EEprom保持最新狀態。然后使用第三個EEprom,以便對憑據進行兩次備份。最重要的是,定期將憑證轉儲到您存儲在拇指驅動器上的加密文件中的文件,并將拇指驅動器固定在安全或保險箱中。最后,讓您的帳戶保持最新,這樣如果您需要重置忘記的密碼,您可以這樣做。此產品未經過專業測試,質量目的,您可能會丟失憑據。您已獲得源代碼,以便您可以更正找到的任何缺陷。也就是說,我已經使用該設備幾個月沒有發生事故了,我將所有憑據存儲在其中,其中許多使用生成的密碼功能,所以如果我丟失設備和備份我我需要重置我的帳戶,因為在這一點上我絕對無法知道密碼是什么。我也按照上面的建議維護備份。
重要披露:使用提供的加密庫我努力加密存儲在外部25LC256上的所有憑據使用AES128的EEprom(并散列主密碼,使用SHA256存儲在內部EEprom上)。我已經使用了哈希主密碼和每組憑據。這個項目是我第一次使用加密,并且沒有正式的代碼審查,所以我可能做錯了,標準免責聲明(買家當心)適用于這種情況。我使用PC和CH340 24/25系列EEprom閃存BIOS USB編程器檢查了外部EEprom芯片的內容(存儲了多組憑據后),所有用戶名,帳戶名和密碼都顯示為加密狀態。但是,我很痛苦地意識到加密很容易做錯,因此請謹慎行事。如果您熟悉這方面的內容,我將非常感謝代碼審查和一些建設性的反饋(請直接與我聯系)。
草圖目前使用97%的程序存儲區域和66%的動態內存。這使得向產品添加新功能非常困難,而無需將其更換為現有功能。我想添加幾個新功能,但由于內存限制,我不能。例如,在完全不活動1小時后,設備超時并且您已退出該設備。我想讓這個時間段可配置(例如,如果你愿意,可以將它設置為2小時),但我根本沒有空間來添加該功能。我認為一個小時可能是一個很好的妥協,當我在我身邊的設備上工作時,我會定期將旋轉編碼器向任意方向旋轉一兩次,以便自動注銷一小時。
步驟5:庫
如果要編譯源代碼,需要在Arduino IDE中安裝以下庫:
- https://rweather.github.io/arduinolibs/index.html 。.. - AES和SHA庫,麻省理工學院許可證。
- https://github.com/LennartHennigs/Button2 - 用于旋轉編碼器上的按鈕,版權所有(c)2017 LennartHennigs,MIT License。
- https://github.com/LennartHennigs/Button2 - 用于旋轉編碼器,GNU GPL版本3.
- https://github.com/LennartHennigs/Button2 - 用于將字符發送到鍵盤,就像用戶輸入GNU Lesser General Public License一樣。
- https://github.com/LennartHennigs/Button2 - 用于內部EEprom
- https://github.com/LennartHennigs/Button2 - 用于SSD1306顯示設備,Bill Greiman
步驟6:編譯
確保安裝了所有必需的庫。將董事會設置為“Arduino Leonardo”。請記住,您將通過外部程序員上傳,因此請在Programmer中設置該值。我使用Pololu USB AVR編程器。
步驟7:閃爍程序
我正在使用外部程序員將程序刻錄到設備上。即從Arduino IDE我選擇Sketch - 》 Upload Using Programmer將程序發送到Atmel ATMega32u4/Arduino Pro Micro。我這樣做的部分原因是因為它覆蓋了引導裝載程序,我想要覆蓋引導因為通過這樣做,我在設備的設備上有更多的空間。如果引導加載程序存在,我認為該程序不適合Pro Micro,但我還沒有測試過。我也不認為由于其他原因,設備將與引導加載程序一起正常工作。因此,我使用Pololu USB AVR編程器。在使用外部編程器編程時,我仍然需要通過USB電纜為設備供電。如果你通過以下方式構建設備如果您希望能夠加載固件,請確保在將Arduino Pro Micro焊接到USB板后,不要自行尋找部件,或者如果您使用該套件進行構建,請務必不要剪斷插頭引腳。如果您希望能夠加載固件。插頭引腳與PCB板齊平,將無法重新啟動設備;您需要將VDD,GND,RST,MOSI,MISO和SCK連接到外部編程器的Arduino Pro Micro以閃存程序。這里有關于這樣做的說明。請放心,我對鎖定位的初始設置不會阻止您重新刷新程序。如果要在重新刷新程序后重置鎖定位,則可以執行此操作。對我來說,最簡單的方法是使用Atmel Studio和我的USB AVRISP XPII。但是你真的不需要設置鎖定位,因為無論如何,源代碼現在都可供所有人使用。存儲在內部EEprom中的主密碼使用SHA-256進行哈希處理。
步驟8:操作
要打開設備,只需使用micro USB Micro-B插頭將其插入USB端口/插座即可 - 插頭線,與用于為Android手機充電的線纜相同。第一次將其插入驅動程序時可能需要安裝。可以在源代碼部分中引用的源代碼存儲庫中下載該驅動程序。
首次啟動設備時,您會看到:
主密碼 2019年3月11日 (或最近編譯的日期)
此時您需要輸入主密碼。嘗試選擇您會滿意的主密碼,因為如果您想要更改它,您必須重置設備,這將清除您的所有憑據。之后只有一種方法可以通過鍵盤或旋轉編碼器將憑證鍵入設備。還要嘗試選擇可以更快速地輸入設備的密碼。它應該是大小寫的組合,帶有數字,也許是一個或兩個符號。我喜歡選擇幾乎完全用左手打字的密碼,我發現它們更容易通過旋轉編碼器輸入。你應該選擇一個強密碼;字母,大寫和小寫,數字和特殊字符的組合,長度在7到14個字符之間。要輸入字符,請轉動旋轉編碼器,直到出現該字符,然后向下按下旋轉編碼器(短按)以選擇字符。如果你犯了錯誤,目前無法備份,所以要小心(或者如果你可以把它擠進來自己增強代碼!)。輸入完整主密碼后,長按設備(單擊旋轉編碼器超過1/2秒)。您剛輸入主密碼,現在您已準備好輸入一組憑據。
通過旋轉編碼器移動菜單項,順時針向下移動列表,逆時針向上移動。帳戶名稱按字母順序存儲。要選擇項目,請單擊旋轉編碼器(短按)。要備份,請按住旋轉編碼器超過半秒鐘(長按)。
添加憑據
添加一組通過鍵盤的憑據您需要打開一個串行終端。最適合我的是Arduino串行終端。因此,如果您打開Arduino IDE,請轉到Tools-》 Ports并選擇Arduino/Genuino Micro端口。然后選擇工具 - 》串行監視器(或Ctl + Shift + M)。接下來,在您的PasswordPump上向下導航至Keyboard OFF并通過短按將其更改為鍵盤ON。導航回添加帳戶并短按。您將看到:
帳戶名稱添加帳戶
短按,然后切換回Arduino串行終端并輸入帳戶名稱,然后是返回鍵。然后長按密碼泵。你現在應該看到:
編輯用戶名
[您輸入的帳戶名稱]
再次短按,切換回Arduino串行終端并輸入用戶名,然后返回鍵。然后長按密碼泵。您現在應該看到:
編輯密碼
[您輸入的帳戶名稱]
再次短按,切換回Arduino串行終端并輸入密碼,然后輸入返回鍵。然后長按密碼泵。你現在應該看到:
指示樣式
[您輸入的帳戶名稱]
再次短按并使用旋轉編碼器指定0或1.如果,則指定0提供用戶名和密碼,密碼泵應在發送用戶名之后和發送密碼之前發送回車。如果在提供用戶名和密碼時,密碼泵應在發送用戶名之后和發送密碼之前發送選項卡,請指定1。然后長按密碼泵。您現在應該看到:
帳戶名稱[您輸入的帳戶名稱]
再次長按,您會看到:
查找帳戶
[您輸入的帳戶名稱]
您已完成輸入憑據。
請注意,您也可以僅使用旋轉編碼器輸入憑據。鍵盤可以打開或關閉,沒關系。只需使用旋轉編碼器以與輸入主密碼類似的方式輸入憑證。
發送憑證 導航到查找帳戶和短按。使用旋轉編碼器滾動您輸入的憑據列表。當您找到與要發送到計算機的憑據關聯的帳戶名稱時,請將輸入焦點放在窗口中的用戶名文本框中,提示您輸入計算機上的憑據。在密碼泵上你應該看到:
發送用戶并通過
[您選擇的帳戶名稱]
短按以發送用戶名,回車符或制表符(取決于樣式設置),然后是密碼。如果您選擇了正確的樣式,現在應該登錄到您的帳戶/應用程序。
如果您只想將密碼發送到計算機,然后回車,請使用旋轉編碼器向下滾動一次,直至看到:
發送密碼
[您輸入的帳戶名稱]
短按以發送密碼和回車符。
同樣,您只能發送用戶名或只發送帳戶名。
編輯憑據 要編輯一組現有憑據,首先要確定是通過鍵盤還是僅通過旋轉編碼器編輯憑據。如果您要通過鍵盤編輯憑據,請按照切換鍵盤輸入中的說明進行操作。然后使用“查找帳戶”導航到要編輯的帳戶并單擊。然后向下滾動到編輯信用并短按。然后滾動到要編輯的屬性;帳戶名稱,編輯用戶名,編輯密碼或指示樣式。現在點擊即可。使用鍵盤以添加憑據中描述的方式重新輸入屬性,或者僅使用旋轉編碼器重新輸入屬性。然后長按以保存更改。如果您要為帳戶生成新密碼,請按照生成密碼中的說明進行操作。
刪除憑據 確保您擁有密碼當前的EEprom備份。導航到“查找帳戶”并單擊。使用旋轉編碼器選擇要刪除的帳戶,然后單擊。使用旋轉編碼器向下滾動到Delete Acct并短按。通過旋轉編碼器選擇Y并短按確認刪除帳戶的愿望。該帳戶現在已經消失,它已從主EEprom芯片中消失。它尚未從備份EEprom中刪除,因此如果您不小心刪除了某個帳戶,并且您有最近的備份,則可以恢復該備份,該帳戶將重新出現。導航到“查找帳戶”并驗證您的帳戶是否已刪除。如果您無法滾動瀏覽所有帳戶,則會發生間歇性發生的缺陷,并且管理所有帳戶顯示的鏈接列表已損壞。從EEprom恢復最新備份。如果您在刪除帳戶后立即備份EEprom,它也會從次要EEprom中擦除。
生成密碼 在嘗試將密碼更改為新生成的密碼之前,請仔細閱讀所有這些說明。 PasswordPump最強大的功能是能夠生成隨機的31個字符密碼并記住它們。這些密碼非常難以猜測,并且不容易受到暴力破解帳戶的攻擊。在執行此操作之前,您應確保擁有所有憑據的當前備份。要為帳戶生成密碼,只需通過“查找帳戶”查找帳戶,然后通過單擊帳戶名稱選擇憑據。在計算機上的應用程序中,導航到更改密碼功能,并將輸入焦點放在“舊密碼”文本框中。在PasswordPump上導航到發送密碼(不發送密碼)并短按。在計算機上的應用程序中,通過按鍵將輸入焦點放在新密碼文本框中。在PasswordPump中向下滾動到編輯信用并單擊,然后向下滾動到Gen密碼并單擊。這會將密碼更改為隨機生成的31個字符的系列。現在長按一次,導航到發送密碼(不發送密碼)并短按。如果您需要確認新密碼,請將輸入焦點放在計算機應用程序中的該文本框上,然后再次單擊。通過按返回鍵或以其他方式單擊相應的按鈕來確認您的密碼更改。您現在在帳戶上有一個隨機的31個字符的密碼,并且密碼存在的唯一位置是在PasswordPump上的加密EEprom芯片上。此時,備份到EEprom和備份到文件是一個好主意,并確保您可以以某種方式從該帳戶上丟失的密碼中恢復。警告:如果由于未接受舊密碼而嘗試更改密碼失敗,請注意您剛剛使用新生成的密碼覆蓋了舊密碼。要恢復舊密碼,您需要從EEprom恢復備份并重試,或者轉到拇指驅動器上的加密備份文件以獲取帳戶的當前密碼,或使用任何機制從帳戶恢復密碼通過應用程序或網站可以使用。提前考慮并小心,這樣您就不會將自己鎖在賬戶之外!
退出 當您想要登錄時在設備外部使用旋轉編碼器導航到Logout并短按。 RGB led從綠色變為藍色。您現在已注銷,必須再次輸入主密碼才能使用該設備。如果您要離開計算機去喝咖啡,最好先鎖定計算機并注銷PasswordPump。
切換鍵盤輸入 導航到鍵盤ON/OFF。短按以切換設置。當鍵盤打開時,您可以使用添加憑據中描述的過程通過鍵盤輸入憑據。如果您沒有輸入憑據,請將鍵盤設置為OFF。當設備關機且默認為鍵盤關閉時,不保存此設置。
顯示/隱藏密碼 使用旋轉編碼器導航到顯示Psswrd ON/OFF。短按以切換設置。注銷并關閉設備時會保存此設置。
備份到EEprom
在密碼泵上使用旋轉編碼器導航到Backup EEprom。短按,然后通過旋轉編碼器選擇Y并短按,確認您要從主EEprom備份到輔助EEprom。備份發生時RGB將呈黃色,然后變回綠色。
備份到文件
打開PasswordPump使用旋轉編碼器導航到備份到文件。在您的計算機上打開一個文本編輯器(一個沒有自動完成功能),notepad.exe效果最好,并將輸入焦點放在文本編輯器中。我個人使用UltraEdit,因為它內置了加密功能。然后短按“備份到文件”。主EEprom芯片的內容(存儲在PasswordPump中的所有憑證)將轉儲到文本編輯器中。當操作完成時,RGB LED變為紫色,然后變為綠色。最好使用WinZip或類似方法將密碼壓縮,并將其存儲在拇指驅動器上,然后將其存儲在安全或保險箱中。從計算機中刪除原始文件并清空垃圾箱。通過定期執行此操作使此文件保持最新。我隨身攜帶加密文件放在一個安全地連接到我的鑰匙環的拇指驅動器上,我在其他地方備份該文件。
從EEprom恢復備份
如果您決定要恢復EEprom備份(或者換句話說,具有輔助內容,備份EEprom將覆蓋主EEprom的內容),則導航到恢復在PasswordPump上備份。短按并通過旋轉編碼器選擇Y并短按確認操作。 RGB指示燈將變為黃色,直到操作完成,然后它變回綠色。
執行出廠重置 您想要的擦除主EEprom上的所有加密憑據并恢復出廠設置。在PasswordPump上使用旋轉編碼器一直導航到Reset。短按。通過旋轉編碼器選擇Y并單擊,確認您要恢復出廠設置并清除所有憑據和主密碼。在設備恢復出廠設置時,RGB會慢速閃爍藍色和紅色,然后快速閃爍,然后變為藍色。此時,您可以輸入新的主密碼。請注意,出廠重置不會消除備份EEprom上存儲的憑據。如果使用相同的主密碼,則可以恢復備份并查看憑據。如果您想要清除備份EEprom,請在輸入新的主密碼后選擇Backup EEprom,或者交換主EEprom芯片和備用EEprom芯片的位置并再次恢復出廠設置。
步驟9:了解RGB顏色
綠色 - 已登錄
藍色 - 未登錄
紅色 - 登錄嘗試失敗錯誤備份或初始化EEprom
紫色 - 發送信用卡
黃色 - 備份到EEprom
快速閃爍紅色/藍色 - 初始化外部EEprom
慢速閃爍紅色/藍色 - 初始化內部EEprom
步驟10:將其全部移動到PCB
這是我為PasswordPump設計的PCB。如果您有興趣訂購自己的設計文件,可以使用源代碼。這是我用PCB板設計的第一個項目,歡迎有經驗的人提供反饋。我想讓設備更小,所以對此任何建議都表示贊賞。
步驟11:PCB組裝
裝配應該相當明顯。指南如下。如果您有任何問題,請在繼續之前給我發送電子郵件(dan-murphy@comcast.net),我會回答您的問題并更新本網站。
1) S2 - 瞬時按鈕,復位按鈕,焊接到PCB的背面,以便在Pro Micro焊接到電路板后可以觸及。確保按鈕的方向正確。見上圖。
2) R1,R2,R3 - 220歐姆電阻器,將它們焊接到位。
3) R4,R5 - 4.7k歐姆電阻器,將它們焊接到位。
4) RGB - RGB LED,最長的引腳在RGB上是地面。它是左邊的第三個洞或右邊的第二個洞。它的連接跡線位于PCB的底部,而所有其他位于頂部。焊接引線時,注意不要在焊道之間橋接焊料。這是裝配中最困難的部分。可能需要一些去焊技術來移除您意外創建的任何橋梁。使用萬用表上的連續性功能確保在繼續之前沒有橋接。
5) U1 (標簽已遮擋),U2 -solder 2 IC DIP插座到位。插座中的槽口應朝向板的底部(當將板放在板上時)。 25LC256芯片中的凹口或凹坑將面向Pro Micro。請參閱本博客頂部的圖片。
6) ARD1 - 將公頭連接到Pro Micro后(使用面包板或自定義PCB本身,焊接時)用于保持接頭精確對準的接頭,否則Pro Micro將無法安裝到定制PCB中,將Micro Micro焊接到位,使面向PCB底部的微型USB端口按照頂部的圖片進行焊接頁。在將瞬時按鈕焊接到位之前,請勿將Pro Micro焊接到位。將Pro Micro焊接到位后,切勿將引線與PCB齊平,否則您將永遠無法重新刷新程序。
7) RE1 - 旋轉編碼器。旋轉編碼器的兩個導線用于將編碼器更牢固地固定到PCB上,需要將其稀疏或完全剪斷;這些孔太小而且不對齊。我發出的用于制造的下一版PCB將解決這個問題。道歉。
8)最后的焊接步驟是將公頭連接到OLED 128x32,然后將OLED 128x32焊接到PCB,使其懸掛在Pro Micro上。男性標題應該足夠長,以實現這一目標。我使用彈性材料將顯示器保持在適當的位置,并且引線穿透PCB上的孔,使它們與PCB的背面齊平,幾乎完全戳穿,并且在那里有足夠的引線焊接到PCB上。
9)將旋鈕插入旋轉編碼器。如果您需要取下旋鈕,請注意不要將旋轉編碼器從PCB上撕下來。
10)小心不要彎曲插針,將兩個25LC256 IC插入插座(帶凹坑)最接近Pro Micro的,請參見本博客頂部的圖片。
11)將micro USB線的公頭插入Pro Micro,將另一端插入計算機的USB端口。驅動程序很可能會自動安裝。如果沒有,它們可以在GitHub上找到。您的PasswordPump應顯示:
PasswordPump
2019年3月11日
然后,三秒鐘后:
主密碼
2019年3月11日
單擊旋轉編碼器一次,然后輸入您選擇的主密碼。請參閱操作下的說明。
步驟12:未來
我目前受限于可用的閃存量給我在ATMega32u4,32k。所有空間都由程序使用。如果我有更多空間,我可以添加其他功能。特別是,我有興趣編寫可以在與PasswordPump完全接口的計算機上運行的GUI。
使用Arduino串行終端添加憑據充其量是尷尬的,但我認為需要更多的內存來糾正這種情況。我還希望有更多的EEprom空間,以便64個字節可用于用戶名,密碼和帳戶名。另外我認為使用AES-256進行加密會更好。可能滿足所有這些要求的設備是帶有ATSAMD51的Adafruit ItsyBitsy M4 Express;以下是該網站的一些廣告功能:
運行頻率為120 MHz的Cortex M4處理器
512KB閃存(比Atmel ATmega 32u4大16倍) )
1.4“長0.7英寸寬(小于Pro Micro)
2MB SPI閃存(與兩個25LC256芯片中的64k相比)
本機硬件I2C和串行(與SSD1306顯示器接口)
內置加密引擎,帶AES,256位(替換加密庫)
每個操作系統支持的本機USB(發送憑證,如鍵盤)
可與Arduino IDE一起使用
內置RGB DotStar LED(替換PasswordPump上的RGB)
重置按鈕
使用USB供電
在缺點下,我用于密碼泵的v1的一些庫將無法與ItsyBitsy一起使用;特別是鍵盤庫以及SSD1306的庫都會出現問題。可以拋出其他庫,并且可以更容易地編寫代碼以適應相關的功能。最大的騙局是ItsyBitsy的價格,14.95美元,這將使生產PasswordPump的成本增加三倍。
步驟13:密碼泵的初始版本
以上是圖片密碼泵的前三個原型。
-
Arduino
+關注
關注
187文章
6464瀏覽量
186649
發布評論請先 登錄
相關推薦
評論