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.要加密的明文....
------解决方案--------------------问题解决:密钥不能用汉字,只能用西文字符。