求助,插入加密字段的问题

minmin007 2010-09-29 05:33:01
insert into yonghu select id,name,encryptbykey(key_guid('sym_pwd'),substring(password,2,3) from aa

为什么执行结果显示只能插入第二个字符,而不是从第二个开始的三个字符呢,希望有过类似经历的同行帮忙一下!谢谢!我想实现的是将密码字段的值分开存储,有其他更好的办法没有?
我用的是sql server 2005
...全文
36 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
minmin007 2010-09-29
找出来原因了,是因为password字段加密的话必须定义成varbinary类型的,而使用substring函数时必须是字符串类型的才行,谢谢各位的提醒,因为本人涉及数据库不深,还请以后多指教!
回复
zsh0809 2010-09-29
encryptbykey的第二个参数的长度声明的是多少?
估计是这个函数参数长度造成的。
回复
minmin007 2010-09-29
encryptbykey(key_guid('sym_pwd'),substring(password,2,3))这个函数有问题吗?
回复
huanghe63 2010-09-29
我想实现的是将密码字段的值分开存储,有其他更好的办法没有?

自己弄个加密函数呗,
回复
huanghe63 2010-09-29
insert into yonghu select id,name,encryptbykey(key_guid('sym_pwd'),substring(password,2,3) from aa

这些是虾米东东,SUBSTRING函数没问题,如果你觉得有错,

SELECT SUBSTRING('AAAAAAAA',2,3)
--OR
SELECT SUBSTRING('AAA',2,3)
回复
minmin007 2010-09-29
create table yonghu
(id int,
name varchar(20),
password varbinary(5000)
)
回复
billpu 2010-09-29
substring没问题 , 看看你的表结构
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2010-09-29 05:33
社区公告
暂无公告