說說在 Oracle 中如何實現 MD5 加密

2021-08-20 01:58:47 字數 1596 閱讀 4949

oracle 在 dbms_obfuscation_toolkit 包中提供了 md5 加密函式,它的定義如下:

dbms_obfuscation_toolkit.md5(

input in raw,

checksum out raw_checksum);

dbms_obfuscation_toolkit.md5(

input_string in varchar2,

checksum_string out varchar2_checksum);

dbms_obfuscation_toolkit.md5(

input in raw)

return raw_checksum;

dbms_obfuscation_toolkit.md5(

input_string in varchar2)

return varchar2_checksum;

引數名

型別說明

input

raw需要加密的物件。

checksum

raw加密後的物件。

input_string

varchar2

需要加密的物件。

checksum_string

varchar2

加密後的物件。

raw_checksum

raw(16)

加密後的物件。

varchar2_checksum

varchar2(16)

加密後的物件。

raw,類似於 char,宣告方式為 raw(l), l 為長度,以位元組為單位,作為資料庫列最大 2000 位元組,作為變數最大 32767 位元組 。

long raw ,類似於 long ,作為資料庫列最大儲存 2g 位元組的資料,作為變數最大 32760 位元組。

raw 型別的好處就是:在網路中的計算機之間傳輸 raw 資料時,或者使用 oracle 實用程式將 raw 資料從乙個資料庫移到另乙個資料庫時, oracle 伺服器不執行字符集轉換 。 儲存實際列值所需要的位元組數大小隨每行大小而異,最多為 2000 位元組 。 可能這樣的資料型別在資料庫效率上會提高,而且對資料由於字符集的不同而導致的不一致的可能性在這裡也被排除了 。

現在建立 md5 函式:

create

orreplace function md5(pass in varchar2)

return varchar2 is v varchar2(32);

begin

v:=utl_raw.cast_to_raw(dbms_obfuscation_toolkit.md5(input_string => pass));

return v;

end;

這裡使用了 utl_raw.cast_to_raw 函式,用於把 varchar2 型別的值轉化為 raw。

呼叫示例:

select  md5(1) from dual;
是不是很簡單呀o(∩_∩)o哈哈~

說說在 Canvas 中如何新增陰影

canvas 的 context 中有四個引數可以用於設定陰影相關屬性。方法名說明 shadowoffsetx 陰影 x 軸偏移量。可以為正值或負值 負值表示在左側和上方建立陰影,正值表示在底部和右側建立陰影。shadowoffsety 陰影 y 軸偏移量。其它特性與陰影 x 軸偏移量相同。shad...

說說在 Python 中如何使用列表推導

luciano ramalho 舉了這樣乙個示例,把乙個字串轉為 unicode 碼的列表。傳統寫法是這樣的 symbols codes for symbol in symbols 執行結果 info codes 64,35,36,37,94,38 ord 函式是 chr 函式 對於8位的ascii...

在ORACLE中實現SELECT TOP N的方法

1.在oracle中實現 select top n 由於oracle 不支援select top 語句,所以在 oracle中經 常是用order by 跟rownum的組 合來實現 select top n的查詢 簡單 地說,實現 方法如下所示 select 列名 列名 from select 列...