谢谢,楼上的。
但是为什么用select pwdencrypt('1')每次得到的都不一样呢.怎么
对比也不行呀,该怎么解决?
但是为什么用select pwdencrypt('1')每次得到的都不一样呢.怎么
对比也不行呀,该怎么解决?
解决方案 »
- 关于不同数据库视图的创建
- 数据库备份! 高手们看看!
- 各们老大,在存储过程中如何调用自定义函数?
- 怎樣判斷某個表中有哪幾個日期型字段?
- sql 2008 R2 添加数据源 报错 01000 10060 08001 17
- 数据库检测出错,数据库中有些表不能用,各位兄弟姐妹,拜托了!
- sql事物问题循环添加跟新
- 快速查询重复值
- 事务复制问题,报:General network error. Check your network documentation.大家来帮忙呀
- 求助。analysis services和reporting services在哪
- 插入字段时,怎么样指定字段的插入位置?
- 日期查询;
declare @t table(name varchar(10),pwd varbinary(256))
insert @t values('u1',pwdencrypt('1234567'))
--select * from @t
declare @int int
select @int=pwdcompare('1234567',(select pwd from @t),0)
begin
if @int=1
print '你输入的密码正确!'
else
print '你输入的密码错误!'
end
--处理方式:
--用DES,3DES,MD5 等方式加密后,密码存储在数据库中,
--用户验证的时候,再把用户输入的密码加密,直接和数据库加密后存储的字符比较
--相等,允许登录,不相等,拒绝登录--注意:MD5是不可逆的。所以用户看到数据库中存储的字符串,也不知道他的用户密码是多少!
set @pwdsave=pwdencrypt('abc') -- 设置密码(加密)if pwdcompare('abc', @pwdsave, 0) =1 -- 判断输入的密码是否与设置的密码一样
print 'password "abc" ok'if pwdcompare('Abcd', @pwdsave, 0) =1 -- 判断输入的密码是否与设置的密码一样
print 'password "Abcd" ok'