當前位置:首頁 » 編程語言 » 處理加密文件sql
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

處理加密文件sql

發布時間: 2022-09-13 23:15:05

1. 如何在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加密串。

2. SQL資料庫被加密了怎麼辦

用」合力天下資料庫加密軟體「加密的sqL資料庫在本機是可以正常運行的,遠程非法下載或傳到網上是打不開的,如果需要帶出公司,可以找公司管理員解密後帶出

3. sql怎麼自動備份並將備份文件加密

SQL SERVER 定時自動備份,並將備份文件加密壓縮(2008-11-12 11:21:48)標簽:it 分類:操作系統@資料庫
最近因為公司要升級HR系統,我被安排管理這個項目,公司為了安全起見和我簽署了保密協議,按了手印責任就大了,所以要想辦法加強系統、應用、資料庫的安全,系統無法控制,應用的安全還不錯,所以我就著手做資料庫的安全,資料庫用戶及密碼都控制了,現在需要對自動備份的數據文件進行加密,以下就是我使用到的工具、方法和代碼共享出來,供大家參考。
第一個步驟:就是讓SQL Server自動備份資料庫,通過DB維護計劃完成,這個我就不詳細說了。
第二個步驟:就是加密並壓縮備份的資料庫文件。為了在備份後,馬上進行壓縮,最方便的就是直接使用SQL命令執行壓縮,由於WinRAR可以通過命令行調用,所以我們可以使用SQL Server中的xp_cmdshell命令來執行壓縮指令,同時通過其中的一些參數指定壓縮密碼,這樣加密壓縮就實現了。(為了實現此功能,伺服器上要安裝WinRAR)
第三步驟:修改維護計劃里調用的SQL,在命令中輸入執行備份、加密、刪除備份的文件的存儲過程。

實施步驟和代碼:

1、在備份的資料庫中建立存儲過程

CREATE procere hrp_backup
--alter procere hrp_backup
WITH ENCRYPTION
AS
declare
@prefix nvarchar(100),
@datefile nvarchar(100),
@bakfile nvarchar(100),
@rarfile nvarchar(100),
@delcmd nvarchar(100),
@rarcmd nvarchar(150)
set @prefix='D:/Database_bak/' --備份文件夾
set @datefile='HRM8_DBBAK_'+cast(Year(GetDate()) as varchar(4))+cast(Month(GetDate()) as varchar(2))+cast(Day(GetDate()) as varchar(2))
set @bakfile=@prefix+@datefile+'.bak'
set @rarfile=@prefix+''+@datefile+'.rar'
BACKUP DataBASE HRM8 TO DISK = @bakfile WITH INIT , NOUNLOAD , NAME = N'HR數據備份', NOSKIP , STATS = 10, NOFORMAT
--set @delcmd = 'del '+@prefix+ 'RAR/*.rar' --先清空RAR備份文件夾
set @rarcmd ='C:/Progra~1/WinRAR/WinRAR.exe a -ppassword -df -ep1 '+@rarfile+' '+@bakfile
-- -df壓縮後刪除文件 -ep1 從名稱中排除基本目錄
--將password改為您要設置的密碼,進行加密壓縮

--exec master..xp_cmdshell @delcmd
exec master..xp_cmdshell @rarcmd

Go
2、新建維護計劃,在Transact-SQL命令中執行以上的存儲過程。
exec hrp_backup
go

驗證調試成功。

4. 我有一個sql文件,被加密了,他在server文件夾下,怎麼打開

可用於加密SQL存儲過程或者觸發器
(這是SQLServer本身提供的,也就是說這是微軟的加密演算法)

使用WITHENCRYPTION選項
WITHENCRYPTION子句對用戶隱藏存儲過程的文本。下例創建加密過程,使用sp_helptext系統存儲過程獲取關於加密過程的信息,然後嘗試直接從syscomments表中獲取關於該過程的信息。

IFEXISTS(SelectnameFROMsysobjects
Wherename='encrypt_this'ANDtype='P')
DropPROCEDUREencrypt_this
GO
USEpubs
GO
CreatePROCEDUREencrypt_this

WITHENCRYPTION
AS
Select*
FROMauthors
GO

EXECsp_helptextencrypt_this

下面是結果集:

Theobject'scommentshavebeenencrypted.

接下來,選擇加密存儲過程內容的標識號和文本。

Selectc.id,c.text

ONc.id=o.id
Whereo.name='encrypt_this'

下面是結果集:

說明text列的輸出顯示在單獨一行中。執行時,該信息將與id列信息出現在同一行中。
idtext
----------------------------------------------------------------------
1413580074?????????????????????????????????e??????????????????????????????????????????????????????????????????????????

(1row(s)affected)

備註:
createprocname
withencryption
as
begin
--語句
end

CreateTRIGGERtrigger_name
ON{table|view}
WITHENCRYPTION
FORUpdate
AS
begin
--語句
end

5. 教你怎樣實現SQL密文加密,不可反編譯

use Tempdbgoifobject_ID('fn_ACITEncryption')isnotnull dropfunction fn_ fn_ACITEncryption( @Str nvarchar( 4000),--加密的字元串 @Flag bit= 1,--1、加密0、解密 @Key nvarchar( 50)--密文)returnsnvarchar( 4000)--這里可轉換成二進制withEncryptionasbeginDeclare @LenStr int, @i int, @Str2 nvarchar( 4000), @Split nvarchar( 2), @LenKey intselect @Str= @Str+'A', @LenStr=len( @Str), @i= 1, @Str2='', @LenKey=Len( @Key+'A')- 1while @i< @LenStr select @Split=substring( @Str, @i, 1), @Split=nchar((unicode( @Split)+case @Flag when 1 thenunicode(substring( @Key+'A', @i% @LenKey+ 1, 1))- 1 when 0 then 65535-unicode(substring( @Key+'A', @i% @LenKey+ 1, 1)) else 0 end)% 65535+cast( @Flag asint)), @Str2= @Str2+ @Split, @i= @i+ 1return @Str2 endgoselect dbo. fn_ACITEncryption( N'Roy', 1,'123')as加密後字元串 /*加密後字元串------------------------------(1 個資料列受到影響) */select dbo. fn_ACITEncryption( N, 0,'123')as解密後字元串/*解密後字元串--------------------------Roy (1 個資料列受到影響)*/

6. SQL2000把存儲過程加密了,怎麼解開

SQL2000把存儲過程加密了,怎麼解開
可以導入,太大,就不要用記事本或者其它編輯器打開了,
查詢分析器--連接資料庫--文件--打開--.sql文件--F5執行

不過你把數據導出為SQL文件,而且200多M,真的是。

為何不壓縮後,直接拷庫文件,或者直接備份導出呢。

7. sql server裡面的內容加密了,用什麼方法可以解密

應該是程序寫入資料庫前加密的,要解密的話,先要查一下是用什麼方式加密的,有沒有解決程序。
如md5是沒有解密程序的。

8. SQL數據文件怎麼加密

首先要說明不能限制 「誰」,只能限制部分人

其次是加密數據肯定要降低效率

一般情況你數據表中數據不用全部加密,某些關鍵欄位加密就行了

但是你這個只能用可逆轉加密,而且加密後 查詢檢索會麻煩些

不能直接復制,使用 Blob 欄位就類型就行了

要加密簡單點用 Base64編碼好了,也不能直接復制,肉眼看不出來,拿走也不能直接用

其它的加密方式 效果好些,但效率就低了。