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

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
...全文
60 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
minmin007 2010-09-29
  • 打赏
  • 举报
回复
找出来原因了,是因为password字段加密的话必须定义成varbinary类型的,而使用substring函数时必须是字符串类型的才行,谢谢各位的提醒,因为本人涉及数据库不深,还请以后多指教!
「已注销」 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没问题 , 看看你的表结构

22,300

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧