使用wincrypt進行md5加密

2021-08-27 08:13:50 字數 2028 閱讀 7930

發一下之前在用c++寫windows下的爬蟲的時候用到的**,非常羨慕php用自帶的md5函式直接使用即可。在windows環境下可以用第三方庫或winapi來進行md5摘要。

以下為自己寫好的乙個md5加密類,為了方便類成員變數都採用了public的許可權,僅供參考

## globallib 自己定義的一些巨集工具和可能用到的標頭檔案(因為是之前專案裡的所以我直接拷貝了) ##

;## 實現檔案 ##

#include "stdafx.h"

#include "_crypt.h"

_crypt::_crypt() :m_hcrypt(0), m_hhash(0), m_md5buf(null), m_md5buflen(0), m_md5charbuf(null)

_crypt::~_crypt()

bool _crypt::init()

return

true;

}void _crypt::clear()

if (null != this->m_md5buf)

if (null != this->m_md5charbuf)

this->m_md5buflen = 0;

this->m_initres[1] = this->m_initres[2] =false;

}bool _crypt::se***5(byte *data, dword len)

//如果初始化失敗 則不能進行md5加密

if (!this->m_initres[0] || !this->m_initres[1])

return

false;

//傳入要加密的資料 給hash物件

this->m_initres[2] = crypthashdata(this->m_hhash, data, len, 0);

if (!this->m_initres[2])

return

true;

}bool _crypt::ge***5()

this->m_md5buf = new byte[dwreallen];

if (this->m_md5buf == null)

return

false;

if (!cryptgethashparam(this->m_hhash, hp_hashval, this->m_md5buf, &dwreallen, 0))

this->m_md5buflen = dwreallen;

this->m_md5charbuf = new

char[dwreallen * 2 + 1];

if (null == this->m_md5charbuf)

for (unsigned

int count = 0; count < this->m_md5buflen; count++)

m_md5charbuf[dwreallen * 2] = '\0';

return

true;

}bool _crypt::displaymd5()

java中使用MD5進行加密

在各種應用系統的開發中,經常需要儲存使用者資訊,很多地方都要儲存使用者密碼,而將使用者密碼直接儲存在伺服器上顯然是不安全的,本文簡要介紹工作中常用的 md5加密演算法,希望能拋磚引玉。一 訊息摘要簡介 乙個訊息摘要就是乙個資料塊的數字指紋。即對乙個任意長度的乙個資料塊進行計算,產生乙個唯一指印 對於...

java中使用MD5進行加密

在各種應用系統的開發中,經常需要儲存使用者資訊,很多地方都要儲存使用者密碼,而將使用者密碼直接儲存在伺服器上顯然是不安全的,本文簡要介紹工作中常用的 md5加密演算法,希望能拋磚引玉。一 訊息摘要簡介 乙個訊息摘要就是乙個資料塊的數字指紋。即對乙個任意長度的乙個資料塊進行計算,產生乙個唯一指印 對於...

java中使用MD5進行加密

在各種應用系統的開發中,經常需要儲存使用者資訊,很多地方都要儲存使用者密碼,而將使用者密碼直接儲存在伺服器上顯然是不安全的,本文簡要介紹工作中常用的 md5加密演算法,希望能拋磚引玉。一 訊息摘要簡介 乙個訊息摘要就是乙個資料塊的數字指紋。即對乙個任意長度的乙個資料塊進行計算,產生乙個唯一指印 對於...