日期:2014-05-17  浏览次数:20447 次

SSIS 加密数据保存到数据库中,能加成功,但解密失败。求各位帮忙!
我用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.要加密的明文....
------解决方案--------------------
问题解决:密钥不能用汉字,只能用西文字符。