Office中国论坛/Access中国论坛

标题: 如何把有很多特殊字符的加密字符串更新到后台表中? [打印本页]

作者: today416    时间: 2011-11-3 23:04
标题: 如何把有很多特殊字符的加密字符串更新到后台表中?
是这样的,我在前台用加密算法加密登录密码,因为用到ASC函数,所以加密后的字符串产生大量特殊字符,这其中有可能产生
单引号,双引号,& 符号等。
现在要用UPDATE 语句将产生的字符串写到后台,就要用语法
docmd.update biao set ziduan='" & 字符串变量 & "'

结果发现有的密码字符转换后再UPDATE的时候会出现提示“操作符丢失”等情况,发现就是因为转换的字符串中包含了单引号,双引号,&等字符。造成程序无法断句。因此无法更新


现在要如何处理?因为前台的密码是提供给用户设置的,用户可以设置任何字符作为密码,所以什么时候产生这些特殊字符是随机的。
所以现在要怎么将加密的字符串写到后台啊?
作者: roych    时间: 2011-11-4 00:38
用转义字符方式试试看?例如:
CurrentDb.Execute "UPDATE usysUsers SET FPassword =""" & RC4(txtNewPwd) & """ WHERE FUserName=""" & strCurrentUserName & """"
请留意里面的的双引号(注意,里面没有单引号)。
作者: today416    时间: 2011-11-4 09:02
这个方法是不是万无一失? 暂时还没发现问题
作者: today416    时间: 2011-11-4 09:14
如果加密后的字符有双引号呢.   RC4(txtNewPwd) 里面的RC4是什么函数
作者: today416    时间: 2011-11-4 09:25
不行啊,照样出现问题
作者: today416    时间: 2011-11-4 10:05
难道这种问题都没人遇到过么?这种问题应该都会出现啊
作者: roych    时间: 2011-11-4 17:17
today416 发表于 2011-11-4 09:14
如果加密后的字符有双引号呢.   RC4(txtNewPwd) 里面的RC4是什么函数

RC4是一种加密方法,和MD5加密是类似的,不同的只是算法而已。
作者: today416    时间: 2011-11-4 18:04
我直接用了怎么没有这个函数啊
作者: today416    时间: 2011-11-4 18:05
解决了,我自己编了个加密函数,加密后的字符只有数字和英文字符
作者: ycxchen    时间: 2011-11-6 15:20
MD5都能破解,我认为,楼主的加密做法现实意义不太。
作者: 鱼儿游游    时间: 2011-11-7 00:38
我用的加密方法只有数字、字母。
Password=8673d6402c25c09b7b0ff9e8a46710030004a004900790030003500AAB9054AE7583E3496ABC33F377F603
原码是:123456

作者: today416    时间: 2011-11-11 14:27
我自己不告诉别人我的算法,他怎么破戒啊




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3