回答
你檢查了OpenSSL。我自己沒有使用它,但文檔說它支持它。
示例代碼
md = EVP_get_digestbyname("sha512");
EVP_MD_CTX_init(&mdctx);
EVP_DigestInit_ex(&mdctx, md, NULL);
EVP_DigestUpdate(&mdctx, mess1, strlen(mess1));
EVP_DigestUpdate(&mdctx, mess2, strlen(mess2));
EVP_DigestFinal_ex(&mdctx, md_value, &md_len);
EVP_MD_CTX_cleanup(&mdctx);
名單上有此取得了巨大成功:
BSD許可證。它涵蓋了SHA-1,SHA-224,SHA-256,SHA-384和SHA-512。它具有整齊的幫手功能,簡化了步驟:
SHA256_Data(const sha2_byte* data, size_t len, char digest[SHA256_DIGEST_STRING_LENGTH])
它還有很多性能調整選項。
你知道sha512文檔在哪裏用於Botan嗎? – 2014-02-24 22:07:44
@Gracchus在許多情況下,某些算法沒有特定的文檔。原因是每個算法都是作爲一個過濾器來實現的,您可以非常類似地使用它。如果您對特定參數感興趣,請在維基百科上查找算法本身,因爲實現應該是規範的。標題中的評論可能也有幫助。 [manual](http://botan.randombit.net/manual/)提供了有關使用過濾器的信息。 – 2014-02-26 11:13:31
檢查this code。它是完全便攜的,不需要任何額外的配置。只有STL就足夠了。你只需要在需要的時候宣佈
#include "sha512.hh"
,然後使用功能
sw::sha512::calculate("SHA512 of std::string") // hash of a string, or
sw::sha512::file(path) // hash of a file specified by its path, or
sw::sha512::calculate(&data, sizeof(data)) // hash of any block of data
。它們的返回值是std::string
- 1. 如何用SHA512散列密碼
- 2. MD5和SHA512散列算法的輪次
- 3. SHA512散列MYSQL/PHP
- 4. SHA512散列到C#中的字符串
- 5. 如何在c中散列SHA512字符串#
- 6. 使用sha512散列整個列
- 7. 計算色散C
- 8. 使用SHA256 + SHA512散列密碼?
- 9. 散列碼計算
- 10. 如何在C#中計算「a」的MD5散列?
- 11. 在二維散列圖上運算C++
- 12. C#計算GIT提交散列
- 13. Git如何快速計算SHA散列?
- 14. 計算HMAC-SHA512在Java密鑰
- 15. SHA512算法的散列值是128位長?
- 16. 如何計算計算SHA-256散列所需的時間?
- 17. SHA512散列在android,php和javascript上有所不同
- 18. SHA512散列憑證失敗的驗證
- 19. 理解和破解醃製sha512散列
- 20. 散列函數計算
- 21. 無法計算散列
- 22. Android計算位圖散列
- 23. 在Linux計算集羣上使用R
- 24. SHA512,SHA256,一般的任何散列已被棄用?
- 25. C# - 如何計算特定散列算法的ASN.1 DER編碼?
- 26. 使用Linux用來散列用戶密碼的算法散列字符串?
- 27. 如何在C#中重現適合PHP SHA512的SHA512哈希?
- 28. Linux是如何計算MemFree
- 29. 在linux上檢測使用C++的喚醒計算機
- 30. 如何做散列運算
heh。你擊敗了我,因爲「OpenSSL支持SHA512」。只有24個字符,並且答案必須至少爲30. – 2011-02-26 04:41:22
您能否鏈接到我可用於計算散列的函數的文檔? – 2011-02-26 04:50:22
向答案添加了示例代碼。 – Zimbabao 2011-02-26 06:01:00