導航:首頁 > 文檔加密 > 當要使用密碼對資料庫進行加密

當要使用密碼對資料庫進行加密

發布時間:2022-05-07 14:24:09

㈠ 如何在資料庫內進行密碼加密和解密

作為參考,數據本身提供的字元串加密方法:

------------1.HASHbytes---------------
SELECT sys.fn_sqlvarbasetostr(HASHbytes('MD5','2324243')),sys.fn_VarBinToHexStr(HASHbytes('MD5','2324243'))

------------2. EncryptByPassPhrase 帶公鑰---------------
--公鑰最好保存在其他地方

declare @pwd varbinary(max) ,@password nvarchar(1000) , @EncrptString nvarchar(max)
set @password ='1234567'

set @EncrptString= N'我是中國人'
--加密
SELECT @pwd = EncryptByPassPhrase( @password, @EncrptString)
select @pwd
--解密
SELECT @EncrptString =CAST( DecryptByPassPhrase(@password,@pwd) as nvarchar(max))
select @EncrptString

㈡ 資料庫加密問題 進來幫我一下!

1 隨機選擇一段確定長度明文 t

2 把密碼轉化為若干個 56bit 的密鑰,k1, k2, ... kn

3 用 DES 演算法,用上述產生的密鑰 k1, k2, ... kn 分別把
明文加密,生成密文 c1, c2, ... cn

4 在資料庫中保存 t + c1 + c2 + ... + cn

這樣即便有人看到你的資料庫,也不知道密碼是什麼,除非他進行 DES 解算(耗時很長……)。如果還不放心,可以再加上 md5 散列等,叫解密的傢伙機器冒煙……

當你需要驗證密碼時,只需從資料庫中讀取 t,根據輸入的口令重復 2, 3,然後和資料庫中保存的 t + c1 + c2 + ... + cn 比較就行了,一致的就是正確的。

㈢ 易客報表怎麼把資料庫用戶密碼加密

易客報表的話不是很清楚,我一般都是用finereport來進行許可權設置的。在平台內置進行用戶身份驗證的時候,密碼存在資料庫(FineReport內置資料庫finedb或者其他資料庫)中,認證時用戶輸入的密碼與資料庫中密碼相同則認證通過。在進行手動添加用戶的時候,使用密碼加密功能,資料庫中存的是密文,輸入的密碼需要進行加密才能和資料庫中的密文進行匹配的話,加大破解難度,提高系統安全性。

登錄平台, 點擊管理系統>用戶管理>設置開啟同步數據集的時候,設置加密方式,如下圖:

java">packagecom.fr.privilege;

importcom.fr.privilege.providers..AbstractPasswordEncode;

{

@Override
publicintlayerIndex(){
returnDEFAULT_LAYER_INDEX;
}

@Override
publicintcurrentAPILevel(){
returnCURRENT_LEVEL;
}

publicStringencodePassword(StringclientPassword){
return(clientPassword+"FR");//即獲取用戶輸入的密碼然後在後面加上FR,再與資料庫密碼匹配。
}

}

㈣ 如何實現資料庫連接的密碼加密

C#中有數據加密的類using System.Security.Cryptography,在這個類中你可以調用它的兩個方法分別是加密方法
public static string Encrypt(string text)
{}
解密方法
public static string Decrypt(string text)
{}
我們一般使用連接資料庫加密的話,都會使用一個配置文件在配置文件中對資料庫鏈接進行讀寫,通過加密方法把鏈接寫到配置文件,然後讀取的時候再使用解密方法。

㈤ 用戶名和存儲密碼迷你資料庫加密的話應該怎麼做

1、定義一個加密處理的class類,通常可以使用MD5來加密,在網路上可以找到此Java源代碼

2、在保存用戶的密碼時,先對獲取的密碼進行MD5加密後再保存到數據,如:
String passwd=request.getParameter("passwd");
passwd=MD5(passwd);
//通過JDBC寫入到資料庫
3、在用戶登錄時,將用戶登錄輸入的密碼進行MD5加密後與資料庫讀取的密碼進行比較,若相等若通過登錄:
String passwd=request.getParameter("passwd");
.......
if(MD5(passwd).equal(rs.get("passwd")))
//通過登錄

㈥ 資料庫里加密的密碼是怎麼實現的

一般是先加鹽再用不可逆加密演算法加密密碼的,常見的有:sha1 sha256 md5等。

作用:這些加密演算法,只能加密,不能逆向解密,所以使用這些演算法。即時你的資料庫被拖庫,得到的人,也無法知道用戶密碼。

為什麼加鹽

舉例

在注冊時,

假設你的密碼是1234,一般伺服器會加一個鹽(隨便一個亂打的字元串),和你的密碼加在一起,1234和efnU*(@#H!JKNF得到1234efnU*(@#H!JKNF這個值,然後再進行加密(這里我用md5)得到 ,於是資料庫里你的密碼就變為了

登入時,

你輸入1234, 然後伺服器用和注冊相同的步驟進行加密,得到加密後的值,,將這個值與資料庫的加密值比對,如果正確則登入。

㈦ 如何對資料庫進行加密和解密

資料庫賬號密碼加密詳解及實例
資料庫中經常有對資料庫賬號密碼的加密,但是碰到一個問題,在使用UserService對密碼進行加密的時候,spring security 也是需要進行同步配置的,因為spring security 中驗證的加密方式是單獨配置的。如下:
<authentication-manager>
<authentication-provider user-service-ref="userDetailService">
<password-encoder ref="passwordEncoder" />
</authentication-provider>
</authentication-manager>

<beans:bean class="com.sapphire.security.MyPasswordEncoder" id="passwordEncoder">
<beans:constructor-arg value="md5"></beans:constructor-arg>
</beans:bean>

如上述配置文件所示,passwordEncoder才是在spring security對賬號加密校驗的地方。
spring security在攔截之後,會首先對用戶進行查找,通過自己定義的userDetailService來找到對應的用戶,然後由框架進行密碼的匹配驗證。
從userDetailService得到user以後,就會進入到DaoAuthenticationProvider中,這是框架中定義的 ,然後跳入其中的authenticate方法中。
該方法會進行兩個檢查,分別是
* preAuthenticationChecks : 主要進行的是對用戶是否過期等信息的校驗,調用的方法在userDetail中有定義的。
* : 這個就是用戶名密碼驗證的過程了。
而PasswordEncoder是我們xml中注入的bean,所以了,我們調用的則是我們自己完成的passwordEncoder
public class MyPasswordEncoder extends MessageDigestPasswordEncoder {
public MyPasswordEncoder(String algorithm) {
super(algorithm);
}

@Override
public boolean isPasswordValid(String encPass, String rawPass, Object salt) {
return encPass.equals(DigestUtils.md5DigestAsHex(rawPass.getBytes()));
}
}

這是我對其實現的一個簡單版本,調用的就是spring自帶的加密演算法,很簡單了,當然也可以使用復雜的加密方法,這個就靠自己了
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

㈧ 資料庫怎麼加密

當數據被存儲時候被加密,它們被使用的時候就會自動加密。在其他的情況下,你可以選擇數據是否要被加密。SQL Server資料庫可以加密下列這些組件:密碼存儲過程,視圖,觸發器,用戶自定義函數,默認值,和規則。
在伺服器和用戶之間傳輸的數據密碼加密SQL Server自動將你分配給登陸和應用角色的密碼加密。盡管當你可以從主資料庫中直接察看系統表格而不需要密碼。你不能給對這種情況作出任何修改,事實上,你根本不能破壞它。
定義加密在有些時候,如果對對象進行加密是防止將一些信息分享給他人。例如,一個存儲進程可能包含所有者的商業信息,但是這個信息不能和讓其他的人看到,即使他們公開的系統表格並可以看到對象的定義。這就是為什麼SQL Server資料庫允許你在創建一個對象的時候進行加密。為了加密一個存儲進程,使用下面形式的CREAT PROCEDURE 語句:
CREATEPROCEDUREprocerename[;number]
[@parameterdatatype
[VARYING][=defaultvalue][OUTPUT]]
[,]
[WITHRECOMPILE|ENCRYPTION|RECOMPILE,ENCRYPTION]
我們關心的僅僅是可選的WITH參數。你可以詳細說明ARECOMPILE或者ENCRYPTION,或者你可以同時說明它們。ENCRYPTION關鍵字保護SQL Server資料庫它不被公開在進程中。結果,如果ENCRYPTION在激活的時候系統存儲進程sp_helptext就會被忽視,這個存儲進程將被存儲在用戶創建進程的文本中。
如果你不想要加密,你可以使用ALTER PROCEDURE,忽略WITH ENCRYPTION子句來重新創建一個進程。
為了能夠使用加密。用戶和伺服器都應該使用TCP/IP NetworkLibraries用來連接。運行適當的Network Utility和檢查Force protocol encryption,看下錶,用戶和伺服器之間的連接將不會被加密。
加密也不能完全自由。當連接確定後源碼天空
,要繼續其他的構造,並且用戶和伺服器必須運行代碼來解釋加密和解釋的包裹。這里將需要一些開銷並且當在編譯碼的時候會使進程慢下來。
是否可以解決您的問題?

㈨ 解析:教你輕松掌握如何對資料庫進行加密

作為資料庫管理員,您可以對資料庫進行加密,使別人更難以破譯資料庫中的數據。可以使用簡單加密或高度加密來保護您的資料庫。 注意:壓縮加密的資料庫將從資料庫中解除加密。 簡單加密簡單加密等效於模糊處理,並可使人使用磁碟實用程序難以查看文件以破譯資料庫中數據。簡單加密並不要求用一個密鑰來對資料庫進行加密。 SQL Anywhere 的早期版本支持簡單加密技術。 高度加密對資料庫文件採用高度加密技術後,若沒有密鑰 (口令),就無法對資料庫進行操作。它還對包含在資料庫及事務日誌中的信息進行加密,這樣信息就不會通過使用磁碟實用程序查看文件而很容易地被破譯。沒有密鑰,數據則完全無法訪問。 所選用於進行高度加密的演算法是 AES:它是數據塊加密演算法,被美國 "國家標准與技術協會 (NIST)" 選作資料庫密碼的新的 " 高級加密標准"(AES)。 可以與 CREATE DATABASE 語句一起使用 ENCRYPTION 和 KEY 選項來對資料庫進行高度加密。同樣,資料庫管理員也可以使用 dbinit 實用程序不同的選項結合,對資料庫進行初始化,並啟用高度加密。您還可以使用 "Sybase Central 創建資料庫 " 向導來創建高度加密的資料庫。與-ek 或 -ep 選項結合使用 dbinit 實用程序可以實現高度加密,並且指明是在提示框中還是在命令提示符處指定密鑰。 創建高度加密的資料庫 (SQL)1.從 Interactive SQL 連接到一個現有的資料庫。 2.執行包含 ENCRYPTION 和 KEY 選項的 CREATE DATABASE 語句。例如,下面的語句在 C:\ 目錄中創建一個名為myencrypteddb.db 的資料庫文件。 CREATE DATABASE 'c:\\myencrypteddb' TRANSACTION LOG ON ENCRYPTED ON KEY '0kZ2o52AK#'創建高度加密的資料庫 (命令提示符)1.在命令提示符下,使用 dbinit 實用程序創建一個資料庫。必須 包括下列選項: �6�1-ea:用於指定加密演算法。 �6�1-ek 或 -ep:用於指定加密密鑰以及希望在命令提示符處 還是在對話框中輸入它。 下列命令 (應在一行中輸入所有內容)創建一個高度加密的數 據庫並指定輸入加密密鑰作為命令的一部分。 dbinit -ek "0kZ2o56AK#" "myencrypteddb.db"2.從命令提示符處啟動資料庫。 dbeng9 myencrypteddb.db -ek "0kZ2o56AK#"與大多數口令一樣,最好選擇不容易被猜測的密鑰值。我們建議您為密鑰選擇一個包含 8 到 30 位數字的值,且該值是大寫和小寫字元、數字、字母以及特殊字元的組合。 注意:一定要在安全的位置存儲一份密鑰。每次啟動或修改資料庫時,都需要使用該密鑰。丟失了密鑰將導致資料庫完全無法訪問,而無法訪問的資料庫是無法進行恢復的。

㈩ 如何配置資料庫密碼加密訪問資料庫

問題解決思路:將配置文件用戶相關的信息(例如:密碼)進行加密使其以密文形式存在,進行初始化連接池的時候進行解密操作,達到成功創建連接池的目的。Tomcat默認使用DBCP連接池(基於common-pool的一種連接池實現),可在下載commons-dbcp源碼包commons-dbcp-1.4-src.zip,對org.apache.commons.dbcp.BasicDataSourceFactory類修改,把資料庫密碼欄位(加密後的密文)用解密程序解密,獲得解密後的明文即可。具體實現:1.修改org.apache.commons.dbcp.BasicDataSourceFactory類文件找到數據源密碼設置部分value=properties.getProperty(PROP_PASSWORD);if(value!=null){dataSource.setPassword(value);}修改為:value=properties.getProperty(PROP_PASSWORD);if(value!=null){dataSource.setPassword(Encode.decode(value));}將配置文件中的「密碼」(加密後的結果)取出,調用加解密類中的解密方法Encode.decode(value)進行解密。2.加密類Encode.java,本例中使用加密解密模塊比較簡單只是用來說明問題,密文為明文的十六進制串。publicclassEncode{//編碼-普通字元串轉為十六進制字元串publicstaticStringencode(Stringpassword){Stringresult=「」;byte[]psd=password.getBytes();for(inti=0;ipassword696e65743231urljdbc:oracle:thin:@127.0.0.1:1521:orcldriverClassNameoracle.jdbc.driver.OracleDriverusernamewanfang4.將修改後的BasicDataSourceFactory.java和新添加的Encode.java編譯後的class類文件重新打包進commons-dbcp-1.4.jar,將該包拷貝進tomcat下的common/lib目錄中,重啟tomcat。此時tomcat下部署的應用在連接數據源的時候都可以在不暴露密碼明文的情況下進行連接。轉載,僅供參考。

閱讀全文

與當要使用密碼對資料庫進行加密相關的資料

熱點內容
桂妃app哪裡下載 瀏覽:236
android代碼格式化快捷鍵 瀏覽:829
如何判斷伺服器的硬碟 瀏覽:654
雲伺服器挑選順序 瀏覽:887
卡銀家平台源碼 瀏覽:417
怎麼樣設置伺服器的ip地址 瀏覽:900
泡沫APP在哪裡下載 瀏覽:937
簡述高級語言進行編譯全過程 瀏覽:39
管家婆輝煌2加密狗挪到另一台電腦 瀏覽:760
摩托車在哪裡app看考題 瀏覽:356
蘋果5app在哪裡設置 瀏覽:737
如何查看伺服器的磁碟使用 瀏覽:165
python蒙特卡洛模型投點圖 瀏覽:330
安卓手機屬於什麼介面 瀏覽:742
微信群推廣網站源碼 瀏覽:764
九江離鷹潭源碼 瀏覽:719
python可以當作函數的返回值 瀏覽:423
地鐵逃生體驗服怎麼進入安卓 瀏覽:833
齊魯工惠app的中獎記錄在哪裡 瀏覽:760
linuxkill命令詳解 瀏覽:104