加密
CString CMainFrame::EncodeStr(LPCTSTR lpszSrc)
{
CString strDest="";
int i,j,k;
CString s1, s3=lpszSrc;;
int nLength = s3.GetLength();
k = 4 - nLength % 4; //离4的倍数还差几位
for (i=0; i <(k-1); i++)
s3 += ('z'-k-i*3);
s1.Format("%d",k);
s3 += s1;
for (i=0; i <(nLength+k); i+=4)
{
s1 = s3.Mid(i,4);
for (j=3; j>=0; j--)
{
strDest += s1[j]-9;
}
}
return strDest;
}
解密
CString CMainFrame::DecodeStr(LPCTSTR lpszSrc)
{
CString strDest="";
int i,j;
CString s1, s3=lpszSrc;
int nLength = s3.GetLength();
for (i=0; i <nLength; i+=4)
{
s1 = s3.Mid(i,4);
for (j=3; j>=0; j--)
{
strDest += s1[j]+9;
}
}
j = atoi(strDest.Right(1));
if (j>0)
strDest.Delete(nLength - j, j);
return strDest;
}
现在我遇到当输入的字符串中有零 就不行 ,比如 1023 加密,但是我加密以后往数据库插入失败,只要你输入的字符串中不带零 ,就可以,请教高手们 ,帮看一下,怎么解决阿,谢谢阿
http://topic.csdn.net/u/20081223/13/5cfa4fa8-a201-4669-be4d-f3d4ca1744a2.html