我需要一個簡單的字符串sha256生成器類。我不想爲openSSL或Cripto ++構建大型庫 - 我只想將字符串轉換爲sha256。如何創建這樣的類或從哪裏得到它?C++如何使簡單的sha256發電機提升?
3
A
回答
2
和其他人一樣,我的印象是SHA256下的哈希算法不夠簡單,無法簡單地將自己實現爲更大編碼項目的子集。如果你看看wikipedia page for SHA-2,你會發現一些相當密集的數學。如果你想要真正的加密摘要(數學理論本身),可以找到here。如果你像大多數重點不在安全的程序員那樣,那麼你可能會想簡單地使用別人經過測試和嘗試的實現。你可以找到好幾個here。讓我知道這是否有幫助。對不起,我無法用直接代碼或其他性質回答你的問題。
1
你想要這個嗎?
static void
sha2_round(const unsigned char *data, sph_u32 r[8])
{
int i;
sph_u32 a, b, c, d, e, f, g, h;
sph_u32 w[64];
for (i = 0; i < 16; i ++)
w[i] = sph_dec32be_aligned(data + (4 * i));
for (i = 16; i < 64; i ++) {
w[i] = SPH_T32(SSG2_1(w[i - 2]) + w[i - 7]
+ SSG2_0(w[i - 15]) + w[i - 16]);
去http://www.saphir2.com/sphlib/ 和下載。它在GPL下。看看sha2.c
要小心,它沒有很多文檔。它是爲那些已經知道自己在做什麼的人設立的。
0
GNU coreutils有一個非常簡單的源代碼。 只是下載coreutils,他們甚至有一個你可以構建的測試套件,源代碼充滿了評論和文檔。
2
相關問題
- 1. 簡單的Prolog發電機
- 2. 如何升級jhipster子發電機?
- 3. UAC提升使用簡單的COM DLL
- 4. (簡單)提升thread_group問題
- 5. Yeoman子發電機:使用主發電機提示的答案
- 6. C#簡單事件提升 - 使用「發件人」與自定義EventArgs
- 7. 發電機C
- 8. 爲什麼耗盡的發電機不止一次提升StopIteration?
- 9. 簡單的udp客戶端提升
- 10. 提升Web框架查詢字符串發電機
- 11. 如何使用Javamail發送簡單的電子郵件?
- 12. C++和Python的升壓功能簡單
- 13. 如何升級smf(簡單機器論壇)1.1.6到2.0.2?
- 14. C++簡單聊天客戶端沒有提升
- 15. Matlab的SimPowerSystem簡單的發電機實施
- 16. 如何使用Python發送簡單電子郵件
- 17. 與自動發電機相關的提升精神業力和提升變體「概念」
- 18. 如何使用簡單提示腳本
- 19. Haskell性能提升的簡單提示(關於ProjectEuler問題)?
- 20. 蟒蛇發電機的發電機?
- 21. 發送簡單的HTML電子郵件
- 22. 如何爲Branch.io提取Sha256 Cert指紋
- 23. C# - 簡單的電話簿功課
- 24. C#隨機BigInt有發電機
- 25. Yeoman發電機:我如何訪問用戶提供的選項?
- 26. 如何使一個發電機,這是由另一個發電機組成
- 27. ASP.NET簡單郵件發送使用C#
- 28. 如何使用PYTHON將簡單的鍵盤與電腦和手機連接?
- 29. 如何在C++ 03中將提升packaged_task發佈到io_service?
- 30. 如何使用SHA256加鹽?
哪個邊信道攻擊是相關的? – CodesInChaos
爲什麼「提升」是相關的?你看過算法嗎? –
如果你沒有涉及數學的豐富經驗,通常嘗試自己實現複雜的密碼學是一個壞主意。 – kcbanner