现有一个Sybase数据库,数据库的用户是由一套MIS程序自动生成的,密码采用以下方式加密。
/*原来的PB加密函数
  在asc码小于129的范围内进行字符转换,方法为:
  如果字符的asc码小于101,转换为asc码+28的字符,
  如果字符的asc码大于100,转换为asc码-100的字符
*/
string    ls_des_string
char      lc_source,lc_des
long      li,l_lenl_len = len(fs_source)
if l_len = 0 then return null_string
FOR li = 1 TO l_len
lc_source = mid(fs_source,li,1)
if asc(lc_source) < 101 then lc_des = char(asc(lc_source) + 28)
if asc(lc_source) > 100 then lc_des = char(asc(lc_source) - 100)
ls_des_string = ls_des_string + lc_des
NEXT
return ls_des_string
现在用C#新做个程序连接数据库,问题出现了,
数字型的密码加密后没有特殊字符,可以正常连接,但是密码一包括字母,加密后就包含有特殊字符,连接数据库提示出错,从索引 60 处开始,初始化字符串的格式不符合规范。出错的连接字符串:
字符贴不出来,我截了一张图片,http://8cnc.com.cn/111.jpg