java資料庫密碼加密
可以通過其它方法來實現:
1:如果沒用框架,直接加密、解密即可
2:如果用hibernate之類,可以繞過Configuration,讀取Hibernate配置文件解密後再連接資料庫
3:考慮集群影響
『貳』 如何用java對數據加密,生成的密文是唯一的
用戶提供的是明文,資料庫裡面存儲的是密文
不管怎麼樣,加密也好,解密也好,如果要比較相等性,這兩個過程肯定要有一個,這個是沒有選擇的,需要提高性能的話只能做兩點:
1、將用戶的明文加密為密文後再與資料庫中的比較,原因是這樣只加密一次就可以,如果解密的話就要把資料庫的密文全部解密,這是不現實的
2、在密文所在的列上建立索引,增加搜索速度,這個速度增長是很顯著的,雖然會失去一些插入性能。
3、將對應的sql寫成存儲過程。省去預編譯的時間。這個速度的提高也是很明顯的。
至於你說的「怎麼能保證不一樣得明文加密後生成不一樣得密文」
MD5就可以
MD5有兩個特性:
1、任意兩段明文數據,加密以後的密文不會是相同的
2、任意一段明文數據,經過加密以後,其結果永遠是不變的
網上MD5加密的類應該有寫好的
大致上方法就是這樣了,都做到的話應該沒有問題了,不會影響你的性能的
『叄』 java web開發用戶注冊時密碼加密一般用什麼技術
MD5加密,這是一種不可逆的加密演算法,即一旦進行MD5加密演算法,不能再得到原始的密碼x0dx0a x0dx0a開發者可以將用戶輸入的密碼進行MD5加密後,再與資料庫中存儲的加密後的密碼比較,即可知道密碼的准確性。x0dx0a x0dx0a若想找回密碼,一種即可以重置密碼,即有一個默認的密碼。重置後,可以自己再修改密碼;另一種即可以通過其他方面的驗證後,來錄入一個新密碼。現在很多都是使用郵箱驗證或是手機隨機驗證,驗證成功後,可以設置新密碼
『肆』 java web 項目關於資料庫加密問題!請高手解答
這個有幾個思路:
一個是本身項目文件應該有訪問許可權限制,生產環境的系統不應讓開發人員可以察看,開發環境和生產環境應分開。
如果不能分開,還有個方法是用J2EE伺服器容器提供資料庫Datasource,應用程序直接從web容器獲取,不需要提供用戶名密碼。
還有一個方法,配置資料庫伺服器限制用戶只能從Web容器IP連接,這樣甚至可以不需要密碼。
『伍』 用java實現對資料庫文件的加密
自己編寫一個加密演算法,或者在網上找一個MD5的加密演算法,把密碼加密後再存入資料庫,取的時候解密下就可以了
『陸』 java語言實現密碼加密
一般只有加密碼過程,沒有解密。
用戶登陸時,把他輸入的密碼經過加密
再拿去與資料庫裡面的密碼比較就可以了。
修改密碼也是一樣的原理,輸入的原密碼加密後與資料庫密碼比較,符合的話再將新密碼加密後存入資料庫覆蓋原密碼
現在流行的MD5加密演算法 網上有很多JAVA的MD5演算法
『柒』 javajdbc連接mysql資料庫如何實現用戶名密碼以及傳輸數據的加密
如果jdbc和mysql都支持 SSL那通過配置就可以了
如果不支持,那也可以自己來實現。
實現思路:
1、在資料庫的主機上運行一個java服務,用來轉發數據這個服務我們成為A服務
2、客戶端並不直接訪問資料庫,而訪問A服務,客戶端和A服務之間的傳輸代碼由用戶自己完成,當然可以加密。走套接字,走http,或者其他什麼都是可以的。
『捌』 java 給密碼欄位加密
要是你想做得正規些,MD5或SHA1就是最好的選擇了。它們至今都還十分安全。沒發現有比這兩者更好的解決方案。
MD5就是MD5,是一種演算法,公開的,唯一的,沒有安全的版本和普通的版本之分。大家用的MD5都是一樣的。請始終記住,公開的才是安全的。密碼學中都有講的。
為了安全,你可以在MD5加密時,加些鹽。舉個例,將用戶名,密碼,和自定義的一些字元串連起來,然後再進行MD5計算。如:MyUsernameMyPasswordSalt。這么長的串是不容易破解的。你甚至可以連續使用兩次MD5。
如果你光是對密碼MD5加密,則網上有專門的破解工具,對於位數比較小的密碼,極易破解,甚至秒殺。。
『玖』 如何配置資料庫密碼加密訪問資料庫
問題解決思路:將配置文件用戶相關的信息(例如:密碼)進行加密使其以密文形式存在,進行初始化連接池的時候進行解密操作,達到成功創建連接池的目的。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下部署的應用在連接數據源的時候都可以在不暴露密碼明文的情況下進行連接。轉載,僅供參考。
『拾』 Java中怎麼把密碼加密!
MD5很簡單,有專門的類,自己定義一個加密用的saltKey。
還有自己寫簡單的加密解密可以用異或演算法,一個字元串於某字元異或就加密了,再與這個字元異或又解密了。很簡單的演算法。不過比較容易破解