SSIS 加密数据保存到数据库中,能加成功,但解密失败。求各位帮忙! 40分,无满意结帖,结帖人Cool_Sword]

发布时间:2014-1-1 0:09:47
来源:分享查询网

我用DTSX包把文本文件导入到数据库中。其中对一个字段要做加密处理。加密方法用的是“ EncryptByPassPhrase”。 用“OLE DB 命令”来完成这项工作, SqlCommand如下: INSERT [Jm] (jma)VALUES( EncryptByPassPhrase('1234', ? ));  能加上密,但解密失败。去掉参数 ? 就成功。郁闷!! INSERT [Jm] (jma)VALUES( EncryptByPassPhrase('1234', 'aaaaaaaaa' ));  用上句,加密解密都没有问题。 各位帮忙!!多谢!!

不会,,帮顶

? 一般作通配符用,可能是因为加密算法中遇到 ? 会出问题.建议你用 INSERT [Jm] (jma)VALUES( EncryptByPassPhrase('1234', '?' )); 试试,或者干脆就不用'?'作加密字符,改用其他字符吧.

楼主的函数参数顺序可能有问题喔, EncryptByPassPhrase的参数顺序: 1.密钥, 2.被加密的原文  ... 像楼主的例子,'1234'是密钥而非原文.

呵呵,同意楼上意见,EncryptByPassPhrase可以有4个参数,1.密钥,2.要加密的明文....

问题解决:密钥不能用汉字,只能用西文字符。

返回顶部
查看电脑版