|
发表于 2017-5-7 12:44:30
|
显示全部楼层
本帖最后由 lumber2388779 于 2017-5-7 12:53 编辑
- #include <iostream>
- #include <fstream>
- #include <openssl/sha.h>
- #include <openssl/crypto.h> // OPENSSL_cleanse
- #pragma comment(lib, "libeay32.lib")
- #pragma comment(lib, "ssleay32.lib") // 在本程序中, 可以注释掉这句
- using namespace std;
-
- char orgStr[10] = "0.001"; //待哈希的串
- ofstream FileOpen;
- char Buffer[1024];
-
- void printHash(unsigned char *md, int len)
- {
- int i = 0;
- for (i = 0; i < len; i++)
- {
- printf("%02x\t", md[i]);
- sprintf(Buffer,"%02x",md[i]);
- FileOpen.write(Buffer,strlen(Buffer));
- }
-
- printf("\n");
- }
- void myHash224()
- {
- SHA256_CTX c;
- unsigned char md[SHA224_DIGEST_LENGTH];
- SHA224((unsigned char *)orgStr, strlen(orgStr), md);
- printHash(md, SHA224_DIGEST_LENGTH);
-
- SHA224_Init(&c);
- SHA224_Update(&c, orgStr, strlen(orgStr));
- SHA224_Final(md, &c);
- OPENSSL_cleanse(&c, sizeof(c));
- }
-
- int main()
- {
- long double h = 0.001;
-
- for (h=0.001;h<0.601;h+0.001)
- {
- FileOpen.open("fuck.txt");
- sprintf(orgStr,"%.3f",h);
- h += 0.001;
- myHash224();
- }
- return 0;
- }
复制代码 |
|