① 怎麼加密sql2000中的表,或者是指讓別人看,不讓隨意修改
Sa
的賬號和密碼是不能修改的,可以給資料庫設置許可權,用戶是資料庫操作的用戶每個資料庫分別擁有一個資料庫用戶登陸用戶必須和資料庫用戶關聯,才能訪問資料庫對象如果沒有和資料庫用戶關聯,默認和guest關聯新建資料庫用戶sp_grantdbaccess
'sfz\administrator','aaa'
用use
databasename切換到相應資料庫再創建databasename的資料庫用戶
許可權管理GRANT
{ALL|sqlstatement}
TO
account_name
grant
all|select,update
on
ttt(id,name)|on
procere_name
to
表名
伺服器角色
Sysadmin
可作任何事Serveradmin
管理伺服器配置Setupadmin
增加刪除連接伺服器Securityadmin
管理資料庫登陸Processadmin
管理進程Dbcreator
創建、修改資料庫Diskadmin
管理磁碟文件資料庫固定角色
Db_owner
Db_accessadmin
Db_datareder
Db_datawriter
Db_addladmn
Db_securityadmin
Db_backupoperator
Db_denydatareader
Db_denydatawriter
② sql server中怎麼給資料庫表中的用戶密碼加密
1、首先我們電腦上要安裝有SQL Server,然後要准備一個MDF資料庫文件。打開SQL Server。
③ sql2008 資料庫 建表 表中的某一個欄位要加密處理
/*
1.利用對稱密鑰
搭配EncryptByKey進行數據jiami
使用DecryptByKey函數進行jiemi
這種方式比較適合大數據量
*/
CREATE SYMMETRIC KEY ZXC WITH ALGORITHM = AES_256 ENCRYPTION BY PASSWORD = 'ZXC123456'
OPEN SYMMETRIC KEY ZXC DECRYPTION BY PASSWORD = 'ZXC123456'
--jiami
SELECT Encryptbykey(Key_guid('ZXC'), 'YHDH_C')
--jiemi
SELECT CONVERT(VARCHAR(10), Decryptbykey())
CLOSE SYMMETRIC KEY ZXC;
DROP SYMMETRIC KEY ZXC;
/*
2.利用非對稱密鑰
搭配EncryptByAsymKey進行數據jiami
使用DecryptByAsymKey函數進行jiemi
用於更高安全級別的加jiemi數據
*/
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'XIAOMA'
CREATE ASYMMETRIC KEY ABC WITH ALGORITHM=RSA_2048 ENCRYPTION BY PASSWORD = 'ZXC123456'
ALTER ASYMMETRIC KEY ABC WITH PRIVATE KEY (DECRYPTION BY PASSWORD = 'ZXC123456')
--jiami
Select Encryptbyasymkey(Asymkey_id ('ABC'), 'ZXC123456')
SELECT CONVERT(VARCHAR(100), Decryptbyasymkey (Asymkey_id('ABC'),96B1F7E7B7AC3E945E106D82 ))
DROP ASYMMETRIC KEY ABC;
DROP MASTER KEY
/*
3.利用憑證的方式
搭配EncryptByCert進行jiami
DecryptByCert函數進行jiemi
比較類似非對稱密鑰
*/
CREATE CERTIFICATE ZXC
ENCRYPTION BY PASSWORD = 'xiaoxiao'
WITH SUBJECT = 'DB_Encrypt_Demo Database Encryption Certificate',
START_DATE = '2015-10-1'
--jiami
Select Encryptbycert(Cert_id('ZXC'), '123456')
--jiemi
SELECT convert(Varchar(10), Decryptbycert(Cert_id('ZXC'), ,N'xiaoxiao'))
DROP CERTIFICATE ZXC;
/*
4.利用mima短語方式
搭配EncryptBypassPhrase進行jiami
使用DecryptByPassPhrase函數來jiemi
比較適合一般的數據加jiemi
*/
--jiami
Select Encryptbypassphrase('xiaoma', '123456')
--jiemi
SELECT CONVERT(VARCHAR(100), Decryptbypassphrase('xiaoma', ))
④ 怎麼對SQL資料庫中的內容加密
不知道你是否知道加密部分的本來內容,如果不知道,這個問題就有點棘手。如果知道那就好搞了。請補充問題內容
⑤ 問下我的軟體在sql里存儲數據的時候,把其中一個表的一個列加密了,怎麼恢復這個列的字元
這個需要再解密才能看到原始字元
⑥ sql server中怎麼給資料庫表中的用戶密碼加密
在SQl2005下自帶的函數hashbytes()
,此函數是微軟在SQL
SERVER
2005中提供的,可以用來計算一個字元串的
MD5
和
SHA1
值,使用方法如下:
--獲取123456的MD5加密串
select
hashbytes('MD5',
'123456')
;
--獲取123456的SHA1加密串
select
hashbytes('SHA1',
'123456')
;有了這個函數可以在sqlserver中為字元串進行加密,但是hashbytes()
函數的返回結果是
varbinary類型,(以
0x
開頭
16
進制形式的二進制數據)通常情況下,我們需要的都是字元串型的數據,很多人首先想到的可能就是用
CAST
或
Convert
函數將varbinary
轉換為
varchar,但這樣轉換後的結果會是亂碼,正確轉換
varbinary
可變長度二進制型數據到
16
進制字元串應該使用系統內置函數
sys.fn_varbintohexstr()(只在sqlserver2005下有),如下所示:select
sys.fn_varbintohexstr(hashbytes('MD5',
'123456'))
然後就可以截取需要的部分select
lower(right(sys.fn_varbintohexstr(hashbytes('MD5','123456')),32))為md5加密串。
⑦ SQL SERVER資料庫中如何其中的一個表進行加密
登錄用戶指定許可權
給個鏈接
SQL Server 2005 控制用戶許可權訪問表
http://www.cnblogs.com/gaizai/archive/2011/07/14/2106617.html
希望能幫到你
⑧ 關於SQL SERVER 2000,一個表的觸發器被加密
觸發器有一個Encryption選項,把這個選項改成false,就可以查看代碼了。
⑨ sql server 2005怎麼給單個資料庫加密
我覺得這個是最基本的數據加密啊! Access都可以做到的SQL不會做不到吧 最佳答案: ACCESS只是做為一個文件,安全性由文件本身來控制的,但SQL做為大型資料庫,本身設計就不是為移動方便而且,所以他的安全性,是由伺服器硬體來控制的。 這好比,你對保險櫃的安全性,是靠保險櫃本身來控制的,比如鑰匙,鐵皮強度,但你的傢具,床櫃什麼的,其安全性是由你家房間,大門來控制的,不能讓傢具自己來承擔安全責任。 但是,你使用某個家且,安全性可由單個家且控制,所以,SQL數據在單獨使用時,是通過程序的安全性來控制,SQL物理文件,你不能設置成說你不能附加回到SQL上,不能復制帶走,不能從後台SQL中查看數據表。。。 其實你設置一個不讓被人附加或者還原就行了。你創建的時間就可以設置特定用戶。