sql如何加密码
1、首先我们电脑上要安装有SQL Server,然后要准备一个MDF数据库文件。打开SQL Server。
❷ SQL数据库安装后怎样设置密码
1、进入企业管理器-->点击服务器--〉安全性--〉登录--〉sa属性--〉输入新密码即可。
2、设置登陆企业管理器密码:
右击服务器--〉编辑SQL Sever 注册属性--〉使用SQL Sever 身份验证,总是提示输入名和密码。
❸ 请问SQL怎么对数据进行加密
--以下代码包括创建密钥,加密,解密和删除密钥
/*
1.利用对称密钥
搭配EncryptByKey进行数据加密
使用DecryptByKey函数进行解密
这种方式比较适合大数据量
*/
='XIAOMA'
='ZXCCERTIFICATE',EXPIRY_DATE='2015/01/01'
CREATESYMMETRICKEYSYM_TOMWITHALGORITHM=
OPENSYMMETRICKEYSYM_
SELECTCONVERT(NVARCHAR(10),Decryptbykey((Encryptbykey(Key_guid('SYM_TOM'),N'TOM3'))))
CLOSESYMMETRICKEYSYM_TOM
DROPSYMMETRICKEYSYM_TOM
DROPCERTIFICATETOMCERT;
DROPMASTERKEY;
--或--
=AES_256ENCRYPTIONBYPASSWORD='ZXC123456'
='ZXC123456'
SELECTCONVERT(VARCHAR(10),Decryptbykey(Encryptbykey(Key_guid('ZXC'),'YHDH_C')))
CLOSESYMMETRICKEYZXC;
DROPSYMMETRICKEYZXC;
/*
2.利用非对称密钥
搭配EncryptByAsymKey进行数据加密
使用DecryptByAsymKey函数进行解密
用于更高安全级别的加解密数据
*/
='XIAOMA'
=RSA_2048ENCRYPTIONBYPASSWORD='ZXC123456'
(DECRYPTIONBYPASSWORD='ZXC123456')
SELECTCONVERT(VARCHAR(100),Decryptbyasymkey(Asymkey_id('ABC'),Encryptbyasymkey(Asymkey_id('ABC'),'ZXC123456')))
DROPASYMMETRICKEYABC;
DROPMASTERKEY
/*
3.利用凭证的方式
搭配EncryptByCert进行加密
DecryptByCert函数进行解密
比较类似非对称密钥
*/
='XIAOMA'
='ZXCCERTIFICATE',EXPIRY_DATE='2015/01/01'
SELECTCONVERT(VARCHAR(20),Decryptbycert(Cert_id('ZXC'),Encryptbycert(Cert_id('ZXC'),'123456')))
DROPCERTIFICATEZXC;
DROPMASTERKEY
--或--
='Mary5',
SECRET='123456';
ALTERLOGINUser1
ADDCREDENTIALAlterEgo
DropCREDENTIALAlterEgo
DROPCREDENTIALAlterEgo
/*
4.利用密码短语方式
搭配EncryptBypassPhrase进行加密
使用DecryptByPassPhrase函数来解密
比较适合一般的数据加解密
*/
SELECTCONVERT(VARCHAR(100),Decryptbypassphrase('xiaoma',Encryptbypassphrase('xiaoma','123456')))
❹ sql server 2008 怎么设置数据库密码
1、先用Window身份验证方式登陆进去,选择数据库实例,右键选择属性——安全性:把服务器身份验证选项从“Window身份验证模式”改为“SQLServer和Window身份验证模式”。点击确定,关闭当前对象资源管理器。
注意:
1、如果忘记了sa的登录密码,可以先用windows身份认证登录进去,然后新建查询,输入命令:
EXECUTEsp_passwordNULL,'输入新密码','sa'
2、设置sa新的密码,然后就可以用sa用户名进行SQL Server登录了。
3、另外,在获得管理员权限的情况下,可以用命令行添加SQL用户
先建立一个c: est.qry文件,内容如下:
exec master.dbo.sp_addlogin test,123
EXEC sp_addsrvrolemember test, sysadmin
4、然后在DOS下执行:cmd.exe /c isql -E /U alma /P /i c: est.qry
❺ 如何设置sql server数据库的用户名和密码
1.大多数
Windows
用户都需要一个
SQL
Server
登录名以便连接到
SQL
Server。本主题说明了如何创建
SQL
Server
登录名。
2.创建使用
Windows
身份验证
(SQL
Server
Management
Studio)
的
SQL
Server
登录名
3.在
SQL
Server
Management
Studio
中,打开对象资源管理器并展开要在其中创建新登录名的服务器实例的文件夹。
4.右键单击“安全性”文件夹,指向“新建”,然后单击“登录名”。
5.在“常规”页上的“登录名”框中输入一个
Windows
用户名。
6.选择“Windows
身份验证”。
7.单击“确定”。
8.创建使用
SQL
Server
身份验证
(SQL
Server
Management
Studio)
的
SQL
Server
登录名
9.在
SQL
Server
Management
Studio
中,打开对象资源管理器并展开要在其中创建新登录名的服务器实例的文件夹。
10.右键单击“安全性”文件夹,指向“新建”,然后单击“登录名”。
11.在“常规”页上的“登录名”框中输入一个新登录名的名称。
12.选择“SQL
Server
身份验证”。Windows
身份验证是更安全的选择。
输入登录名的密码。
13.选择应当应用于新登录名的密码策略选项。通常,强制密码策略是更安全的选择。
单击“确定”。
14.通过
Transact-SQL
创建使用
Windows
身份验证的
SQL
Server
登录名
在查询编辑器中,输入以下
Transact-SQL
命令:CREATE
LOGIN
<name
of
Windows
User>
FROM
WINDOWS;
GO
15.通过
Transact-SQL
创建使用
SQL
Server
身份验证的
SQL
Server
登录名
在查询编辑器中,输入以下
Transact-SQL
命令:CREATE
LOGIN
<login
name>
WITH
PASSWORD
=
'<password>'
;
GO
❻ 如何用sql语句添加数据库用户/密码
sp_addlogin [ @loginame = ] 'login'
[ , [ @passwd = ] 'password' ]
[ , [ @defdb = ] 'database' ]
[ , [ @deflanguage = ] 'language' ]
[ , [ @sid = ] sid ]
[ , [ @encryptopt = ] 'encryption_option' ]
参数
[@loginame =] 'login'
登录的名称。login 的数据类型为 sysname,没有默认设置。
[@passwd =] 'password'
登录密码。password 的数据类型为 sysname,默认设置为 NULL。sp_addlogin 执行后,password 被加密并存储在系统表中。
[@defdb =] 'database'
登录的默认数据库(登录后登录所连接到的数据库)。database 的数据类型为 sysname,默认设置为 master。
[@deflanguage =] 'language'
用户登录到 SQL Server 时系统指派的默认语言。language 的数据类型为 sysname,默认设置为 NULL。如果没有指定 language,那么 language 被设置为服务器当前的默认语言(由 sp_configure 配置变量 default language 定义)。更改服务器的默认语言不会更改现有登录的默认语言。language 保持与添加登录时所使用的默认语言相同。
[@sid =] sid
安全标识号 (SID)。sid 的数据类型为 varbinary(16),默认设置为 NULL。如果 sid 为 NULL,则系统为新登录生成 SID。尽管使用 varbinary 数据类型,非 NULL 的值也必须正好为 16 个字节长度,且不能事先存在。SID 很有用,例如,如果要编写 SQL Server 登录脚本,或要将 SQL Server 登录从一台服务器移动到另一台,并且希望登录在服务器间具有相同的 SID 时。
[@encryptopt =] 'encryption_option'
指定当密码存储在系统表中时,密码是否要加密。encryption_option 的数据类型为 varchar(20),可以是下列值之一。
值 描述
NULL 加密密码。这是默认设置。
skip_encryption 密码已加密。SQL Server 应该存储值而且不用重新对其加密。
skip_encryption_old 已提供的密码由 SQL Server 较早版本加密。SQL Server 应该存储值而且不用重新对其加密。此选项只供升级使用。
返回代码值
0(成功)或 1(失败)
❼ SQL如何加密
对MSSQL的用户信息有兴趣的,可能会发现master.dbo.sysxlogins里面存放着用户的口令,可是呢,password字段如果不是null就是一堆看不懂的binary,这个口令是怎么加密的呢?
其实只要仔细看看master.dbo.sp_addlogin就知道了,MSSQL的sp都可以看到代码,真是不错。
让我们来看看它是怎么做的,注意这一行select @passwd = pwdencrypt(@passwd),这个时后@passwd就被加密了,让我们也来试一下
DECLARE @ClearPWD varchar(255)
DECLARE @EncryptedPWD varbinary(255)
SELECT @ClearPWD = 'test'
SELECT @EncryptedPWD = CONVERT(varbinary(255), pwdencrypt(@ClearPWD))
SELECT @EncryptedPWD
看上去不错,确实被加密了,可是我怎么还原呢?
呵呵,这就没戏了,口令加密都是单向的,用加密后的密文来比较就可以了。
继续看看其它用户相关的sp,可以发现master.dbo.sp_password里面有口令比较的内容。
pwdcompare(@old, password, (CASE WHEN xstatus&2048 = 2048 THEN 1 ELSE 0 END))
不用去理会xstatus,这是一个状态掩码,一般我们用的时候就直接用0就可以了
DECLARE @ClearPWD varchar(255)
DECLARE @EncryptedPWD varbinary(255)
SELECT @ClearPWD = 'test'
SELECT @EncryptedPWD = CONVERT(varbinary(255), pwdencrypt(@ClearPWD))
SELECT pwdcompare(@ClearPWD, @EncryptedPWD, 0)
SELECT pwdcompare('ErrorPassword', @EncryptedPWD, 0)
这样我们就可以使用这两个函数来加密自己的密码了