读书人

bcb使用 md5解决方案

发布时间: 2012-03-24 14:00:46 作者: rapoo

bcb使用 md5
我现在想用bcb做一个登陆框,数据库要用MD5加密,
把加密后的信息导入到sqlserver
在登陆的时候把用户名和密码分别加密
与数据库中的密文进行比较,如果一致,成功登陆
否则,提示

我的问题是:在Bcb中怎么使用Md5算法
请给出详细的代码参考,谢谢了!

[解决办法]

C/C++ code
/*md5.h*///---------------------------------------#ifndef MD5H#define MD5H#ifndef SystemHPP#include <system.hpp>#endif#ifndef SysUtilsHpp#include <sysUtils.hpp>#endif#ifndef ClassesHpp#include <Classes.hpp>#endif//---------------------------------------namespace hfsoft{//command data type define  类型定义typedef unsigned    char HByte; //8位无符号整数typedef             char HChar;typedef unsigned   short HWord;//16位无符号整数typedef            short HShort;//16位有符号整数typedef unsigned    long HDWord;//32位无符号整数typedef signed      long HInt;  //32位有符号整数typedef unsigned __int64 HDDWord; //64位无符号整数typedef signed   __int64 HLong;   //64位有符号整数typedef bool             HBoolean;typedef float            HFloat ;typedef double           HDouble ;typedef long double      HLongDouble ;typedef AnsiString       HString;class HMD5{  struct Context  {    HDWord state[4];    HDWord count[2];    HByte  buff[64];  } ;  private:    Context HContext ;    HDWord F(HDWord X, HDWord Y, HDWord Z);    HDWord G(HDWord X, HDWord Y, HDWord Z);     HDWord H(HDWord X, HDWord Y, HDWord Z);    HDWord I(HDWord X, HDWord Y, HDWord Z);    HDWord ROTATE_LEFT(HDWord X, HDWord N);    HDWord FF(HDWord A, HDWord B, HDWord C, HDWord D, HDWord X, HDWord L, HDWord AC);     HDWord GG(HDWord A, HDWord B, HDWord C, HDWord D, HDWord X, HDWord L, HDWord AC);    HDWord HH(HDWord A, HDWord B, HDWord C, HDWord D, HDWord X, HDWord L, HDWord AC);    HDWord II(HDWord A, HDWord B, HDWord C, HDWord D, HDWord X, HDWord L, HDWord AC);    void MD5Init();    void MD5Update(HByte* lpInput, HDWord dwLength);    void MD5MemSet(HByte* lpOutput, HByte hfValue, HDWord dwLength);    void MD5MemCpy(HByte* lpOutput, HByte* lpInput, HDWord dwLength);    void MD5Transform(HByte* lpInput);    void Decode(HDWord* lpOutput, HByte* lpInput, HDWord dwLength);    void Encode(HByte* lpOutput, HDWord* lpInput, HDWord dwLength);    void MD5Final();    char GetChar(HByte hfValue);  public:    char* GetMD5OfStr(char* lpInput, int iInputLen, char* lpOutput);    HString MD5(HString MD5Str);};//end class HMD5  HString MD5(HString MD5Str);}//end namespace#endif//=========================================================== 

读书人网 >C++ Builder

热点推荐