求一段用VC6.0写的代码:
比如在对话框中的编辑框控件中获取用户输入的数据
m_PassWord.GetWindowText(pass);//m_PassWord是编辑框的CEdit型的变量,
求写一个简单的加密函数,比如字符串的ASCII码+10再返回加密后的数据,接收的数据必须pass里的数据,然后存入SQL数据库中,该字段名为PassWord,类型是varchar;主要问题是如何转换类型,pass是CString型的,求高手指教,100分送上,来一份完整的代码:加密方法和转换类型的代码!
比如在对话框中的编辑框控件中获取用户输入的数据
m_PassWord.GetWindowText(pass);//m_PassWord是编辑框的CEdit型的变量,
求写一个简单的加密函数,比如字符串的ASCII码+10再返回加密后的数据,接收的数据必须pass里的数据,然后存入SQL数据库中,该字段名为PassWord,类型是varchar;主要问题是如何转换类型,pass是CString型的,求高手指教,100分送上,来一份完整的代码:加密方法和转换类型的代码!
//加密信息并输出,要指定长度,字串结尾'\0'也可以被加密。再次调用即解密。
void EnCodeLen(char* pStr,UINT len)
{
for(unsigned int i=0;i<len;i++)
{
pStr[i]=~(pStr[i]^0x7e);
}
//打印加密后字串
PrintHexLen(pStr,len);
printf("\n\n");
}
//■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
void PrintHexLen(char* pStr,int nLen)
{
for(int i=0;i<nLen;i++)
{
if(i%16==0)
{
printf("\"");
if(i!=0)
printf("\n\"");
}
printf("\\x%2x",*(BYTE*)(pStr+i)); //加byte*,输出没有ffffff。
}
printf("\";\n");
}
str =_T("12345");
if (!str.IsEmpty())
{
for (int i=0;i<str.GetLength();i++)
{
str1 += (WCHAR)(str.GetAt(i)+10);
}
}
这个简单啊,GetDlgItemText得到字符串,再调用EnCodeLen不就行了~
void CPassWordEdit::OnOK()
{
CString PassWord;
m_password.GetWindowText(PassWord);
int mm=atoi(PassWord);
int xmm=0;
m_DataSet.SetConnection(::GetConnection());
CString str;
str.Format("Select * From tab_user where UserName = '%s'",::GetUserName());
m_DataSet.Open(str);
m_DataSet.SetFieldValue("PassWord",(LPCTSTR)Jiami(mm,xmm));
m_DataSet.Save(); CDialog::OnOK();}int CPassWordEdit::Jiami(int x, int y)
{
int a=x;
int b;
b=(a+10)*2;
y=b;
return y;
}
这是我写的代码 能不能帮忙修改下