CREATE TABLE Users (
UserID Varchar(10),
UserPW Varchar (20))INSERT INTO USERS values('TestUser1',ENCRYPT('TestPW1'))
INSERT INTO USERS values('TestUser2',ENCRYPT('TestPW2'))
INSERT INTO USERS values('TestUser3',ENCRYPT('TestPW3'))
INSERT INTO USERS values('TestUser4',ENCRYPT('TestPW4'))SELECT * from Users where UserID = 'TestUser2'
and UserPW = ENCRYPT('TestPW2')--不区分大小写
INSERT INTO USERS values('TestUser1',ENCRYPT(UPPER('TestPW1')))
UserID Varchar(10),
UserPW Varchar (20))INSERT INTO USERS values('TestUser1',ENCRYPT('TestPW1'))
INSERT INTO USERS values('TestUser2',ENCRYPT('TestPW2'))
INSERT INTO USERS values('TestUser3',ENCRYPT('TestPW3'))
INSERT INTO USERS values('TestUser4',ENCRYPT('TestPW4'))SELECT * from Users where UserID = 'TestUser2'
and UserPW = ENCRYPT('TestPW2')--不区分大小写
INSERT INTO USERS values('TestUser1',ENCRYPT(UPPER('TestPW1')))
解决方案 »
- 数据库优化
- 如何高效执行300w以上条数据的统计?
- 插入问题 编号
- 求关于 简单的 SQL 语句
- text类型的字段, 如何把其类型转换为varchar(50)
- 怎么在sql查询分析器中导出数据脚本
- 客户端代码rollbacck能否撤销SQLSERVE触发器的操作?
- 100分求一select 语句!
- 如何合并几个有一定关系的元祖??
- 密码存放在<Binary>字段类型中应怎样操作
- 如何得到机器中 SQl SERVER GROUP 中所有的数据库服务器名及本地数据库服务器名?
- 很菜的问题,请问SQL Server默认的数据库类型是什么样的?我怎么可以将一个数据库汇出来(比如汇到Excel或Access中)?
from master.dbo.sysxlogins
--SQL SERVER 本身也提代加密密码的函数:
--pwdencrypt ,pwdcompare
--加密:
declare @logintable table(username varchar(20),passwd varbinary(256))
insert @logintable(username,passwd) values('yourname',pwdencrypt('123456'))declare @pwd varbinary(256)select @pwd=passwd from @logintable where username='yourname'
--比较:
if pwdcompare('12356',@pwd)=1
print 'true'
else
print 'false'select * from @logintable
or
CREATE PROCEDURE sp_pwd(@userid char(4),@old char(30),@new char(30))
with recompile,encryption
AS
declare @tt0 int,@tt1 int,@tt2 int,@tt3 varchar(30),@ttkey int
declare @role tinyintselect @tt1=1
select @tt2=0
select @tt0=len(@userid)
while @tt1<=@tt0
begin
select @tt2=@tt2+ascii(substring(@userid,@tt1,1))
select @tt1=@tt1+1
endselect @ttkey=convert(int,(@tt2/@tt0))
select @tt3=''
select @tt0=len(@new)select @tt1=1
while @tt1<=@tt0
begin
select @tt2=ascii(substring(@new,@tt1,1))^(@ttkey+@tt1)
if char(@tt2)="'"
select @tt3=@tt3+'$'
else
begin
select @tt3=@tt3+char(@tt2)
end
select @tt1=@tt1+1
end
update login set password=rtrim(ltrim(@tt3)) where code=@userid
if @@trancount>0
commit tran
我用VB,就是这样做的。