通過(guò)配置本地?cái)?shù)據(jù)庫(kù)的tns配置文件實(shí)現(xiàn):
發(fā)展壯大離不開廣大客戶長(zhǎng)期以來(lái)的信賴與支持,我們將始終秉承“誠(chéng)信為本、服務(wù)至上”的服務(wù)理念,堅(jiān)持“二合一”的優(yōu)良服務(wù)模式,真誠(chéng)服務(wù)每家企業(yè),認(rèn)真做好每個(gè)細(xì)節(jié),不斷完善自我,成就企業(yè),實(shí)現(xiàn)共贏。行業(yè)涉及成都主動(dòng)防護(hù)網(wǎng)等,在網(wǎng)站建設(shè)公司、網(wǎng)絡(luò)營(yíng)銷推廣、WAP手機(jī)網(wǎng)站、VI設(shè)計(jì)、軟件開發(fā)等項(xiàng)目上具有豐富的設(shè)計(jì)經(jīng)驗(yàn)。
去oracle安裝目錄下oracle\product\10.2.0\db_2\NETWORK\ADMIN\ 找到tnsnames.ora,用記事本打開,里邊有遠(yuǎn)程數(shù)據(jù)庫(kù)的tns連接配置串如下
ORCL23 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.23)(PORT = 1521))
)
(CONNECT_DATA =
(SID = ORCL)
)
)
添加好ip、端口和目標(biāo)數(shù)據(jù)庫(kù)的實(shí)例名(SID),然后確保tns名稱(ORCL23)在整個(gè)文檔中唯一,保存后打開數(shù)據(jù)庫(kù)連接工具,輸入遠(yuǎn)程數(shù)據(jù)庫(kù)上的用戶名密碼,選擇數(shù)據(jù)庫(kù)對(duì)象為你配置的連接名就可以了
MD5解密方法
我在存儲(chǔ)數(shù)據(jù)庫(kù)的時(shí)候,通過(guò)md5加密方法將字段進(jìn)行加密,當(dāng)我在讀取該字段時(shí)如何正確的讀取原來(lái)的值啊
------解決方案--------------------
沒辦法,MD5是不可逆的。
你需要使用可逆加密算法。
------解決方案--------------------
插入表中的時(shí)候md5加密
比如:
$sql= "insert into register(names,pswd,repswd) values( '$_POST[names] ',md5( '$_POST[pswd] '),md5( '$_POST[repswd] ')) ";
$qid=mysql_query($sql);
讀取的時(shí)候
$pswd=empty($_POST[ 'pswd '])? ' ':md5($_POST[ 'pswd ']);
------解決方案--------------------
如果業(yè)務(wù)要求可還原,那么不要采用MD5,請(qǐng)使用可逆加密算法,如DES加密。
MD5為不可逆散列算法,可用于存儲(chǔ)用戶密碼,存儲(chǔ)后不需要永遠(yuǎn)不需要知道明文。密碼比較時(shí)只需將用戶輸入的密碼再次轉(zhuǎn)成MD5碼與存儲(chǔ)的相比較即可得知用戶輸入密碼是否正確。
linux/unix操作系統(tǒng)一般采用MD5進(jìn)行用戶密碼加密。
------解決方案--------------------
MD5目前所謂的破解只是采用碰撞法找到了對(duì)等因子。
比如:string1的MD5碼為MD1,而現(xiàn)在我們做到的只是又找到了一個(gè)string2,它的MD5碼也是MD1。
結(jié)果就是:用戶登陸某采用MD5加密的系統(tǒng)時(shí),本來(lái)密碼是12345,現(xiàn)在可能用abcde也能登陸。
想想可能還原嗎?如果可以還原,那天大的信息也能用32位長(zhǎng)的字符串表示了,這不成了超級(jí)壓縮算法了嗎,整個(gè)宇宙的信息都可以用32位長(zhǎng)表示了。不可逆的!
如何解密Oracle Warp加密過(guò)程
Oracle加密的原理就是先對(duì)源碼進(jìn)行l(wèi)z壓縮lzstr,然后對(duì)壓縮數(shù)據(jù)進(jìn)行SHA-1運(yùn)算得到40位的加密串shstr,然后將加密串與壓縮串拼接得到shstr+lzstr,然后對(duì)拼接后的字符串進(jìn)行Oracle雙字符轉(zhuǎn)換(轉(zhuǎn)換表)。最后將轉(zhuǎn)換后的字符串進(jìn)行base64編碼,最終得到wrap的加密串。
(1)DES加密函數(shù)
create
or
replace
function
encrypt_des(p_text
varchar2,
p_key
varchar2)
return
varchar2
is
v_text
varchar2(4000);
v_enc
varchar2(4000);
raw_input
RAW(128)
;
key_input
RAW(128)
;
decrypted_raw
RAW(2048);
begin
v_text
:=
rpad(
p_text,
(trunc(length(p_text)/8)+1)*8,
chr(0));
raw_input
:=
UTL_RAW.CAST_TO_RAW(v_text);
key_input
:=
UTL_RAW.CAST_TO_RAW(p_key);
dbms_obfuscation_toolkit.DESEncrypt(input
=
raw_input,key
=
key_input,encrypted_data
=decrypted_raw);
v_enc
:=
rawtohex(decrypted_raw);
dbms_output.put_line(v_enc);
return
v_enc;
end;
(2)DES解密函數(shù)
create
or
replace
function
decrypt_des(p_text
varchar2,p_key
varchar2)
return
varchar2
is
v_text
varchar2(2000);
begin
dbms_obfuscation_toolkit.DESDECRYPT(input_string
=
UTL_RAW.CAST_TO_varchar2(p_text),key_string
=p_key,
decrypted_string=
v_text);
v_text
:=
rtrim(v_text,chr(0));
dbms_output.put_line(v_text);
return
v_text;
end;
(3)MD5加密函數(shù)
CREATE
OR
REPLACE
FUNCTION
MD5(passwd
IN
VARCHAR2)
RETURN
VARCHAR2
IS
retval
varchar2(32);
BEGIN
retval
:=
utl_raw.cast_to_raw(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT_STRING
=
passwd))
;
RETURN
retval;
END;
(4)函數(shù)使用示例
DES加密:
update
tb_salarysign_staff
s
set
s.staffpwd
=encrypt_des(s.staffpwd,
'test#5124*!de');
DES解密:select
decrypt_des(s.staffpwd,
'test#5124*!de')
from
tb_salarysign_staff
s
MD5加密:
update
tb_salarysign_staff
s
set
s.staffpwd
=
md5(s.staffpwd);
名稱欄目:oracle如何加密解密,oracle密碼加密算法
本文鏈接:http://vcdvsql.cn/article44/hshjee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、電子商務(wù)、網(wǎng)站設(shè)計(jì)、服務(wù)器托管、網(wǎng)站營(yíng)銷、移動(dòng)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)