我在写一个登陆的窗口程序,需要将获得的密码采用DES加密之后,存到数据库上面,在下次登陆的时候,到数据库上面通过对比输入的用户名和密码来确认是否可以让该用户登陆。
我的DES加密之后,输出的是8个字节的二进制码,但是存入数据库的是字符串,所以是乱码,不知道有没有别的存入办法。
对比的时候,可能寸入就有问题了,不知道该怎么办了,望高手解答,不甚感谢!~
我的DES加密之后,输出的是8个字节的二进制码,但是存入数据库的是字符串,所以是乱码,不知道有没有别的存入办法。
对比的时候,可能寸入就有问题了,不知道该怎么办了,望高手解答,不甚感谢!~
解决方案 »
- VC 子对话框和主对话框之间的通信问题
- 创建一个后台进程必须用到动态链接库吗
- 请问如何做一个第三方软件的使用权限设置软件?
- 怎么设置FTP API GetFtpConnection的超时等待
- GetWindow(hWnd, GW_OWNER)和GetParent(hWnd)有什么区别?
- 第一次从vc6转到vc7下用ATL,有好多不懂,第一个不明白的是怎么没有BEGIN_OBJECT_MAP了?
- Request中有HTTP authentication怎么办?
- 在去掉ActivX控件的提示后出现的问题
- 我要把tc的可执行程序加到我用vc编的应用程序中来,怎么做?
- CHtmlView的刷新问题
- 接口继承只允许单继承,不允许多继承?
- 在其它电脑上执行MFC开的软件时总是提示“没有找到MFC42D.DLL“
不好意思的说,我手里并没有相关的代码^^不过对比的话,因为是字符串格式的,所以只要使用字符串对比函数就可以了吧,strcmp()或者string.compare()之类的。
存入数据库之前一定要注意把二进制数据格式化输出为字符串,比如十进制的92897327973343479这样,这样就不会有乱码了。
char buff[32];
int n=123;
int base=16; //十进制或者16进制
itoa(n,buff,base); //将n转换为指定进制的字符串
我仔细说明下我的输出吧,输出是char型,但是是乱码,用UE打开,换成16进制的话就是16进制的,所以我就很疑惑,puzzle。
不知道到底该怎么处理,唉!~
譬如:char是这样
繁L帧:髽
换成16进制就是
B7 B1 4C D6 A1 3A F3 98。