PostgreSQL中的chkpass模組

2021-09-13 08:31:27 字數 1336 閱讀 8129

目錄

文件用途

詳細資訊

文件用途

chkpass模組使用了乙個名為chkpass的資料型別,此型別適用於儲存加密的口令。

詳細資訊

使用chkpass模組後,每個口令在輸入的時候就自動的被轉換為加密的形式,而且總是以加密的形式儲存。進行比較時,可簡單地與明文口令比較,比較函式會先對明文口令進行加密。

如果在輸入的字串之前加上冒號,它會被認為是已經加密的口令,因此在儲存的時候就不會有進一步的加密措施,這樣就允許了之前被加密過的口令能夠被輸入。

密碼輸出的時候,會有乙個冒號作為字首。這使得轉儲和過載口令時不需要重新對他們進行加密。如果不想在加密的口令前有冒號,可以使用raw()函式。

需要注意的是,只有口令中最開始的8個字元會被考慮進行加密操作。

chkpass型別是不能被索引的。

建立擴充套件:

postgres=# create extension chkpass;

create extension

建立測試表:

postgres=# create table chktest(id integer, passswd varchar(32) , pwd1 chkpass, pwd2 chkpass, pwd3 chkpass, pwd4 chkpass);

create table

插入資料:

postgres=# insert into chktest values(1,:'password_string1' ,substring(rpad(:'password_string1',32),1,8)::chkpass ,substring(rpad(:'password_string1',32),9,8)::chkpass,substring(rpad(:'password_string1',32),17,8)::chkpass, substring(rpad(:'password_string1',32),25,8)::chkpass);

insert 0 1

postgres=# insert into chktest values(2,:'password_string2' ,substring(rpad(:'password_string2',32),1,8)::chkpass ,substring(rpad(:'password_string2',32),9,8)::chkpass,substring(rpad(:'password_string2',32),17,8)::chkpass, substring(rpad(:'password_string1',32),25,8)::chkpass);

insert 0 1

查詢表中的所有記錄:、

更多詳細資訊請登入【瀚高技術支援平台】檢視

PostgreSQL中的索引

索引是一種快速查詢資料的方法,它記錄了表中一列或多列與其物理位置之間的對應關係。常用的索引有b tree,hash,gist及gin等。1 b tree索引適合處理等值查詢和範圍查詢。2 hash只適合處理簡單的等值查詢。3 gist支援很多不同的索引策略。4 gin反轉索引,可以處理包含多個鍵的值...

postgresql中的資料分割槽

目錄 環境文件用途 詳細資訊 環境系統平台 n a 版本 10.0,9.6,8.4 文件用途 本文旨在用於指導資料分割槽和資料分割槽方法。詳細資訊 什麼是資料分割槽?對於具有極大表的資料庫,分割槽對於資料庫設計人員而言是一種慣用的技巧,可以提高資料庫效能並使維護更加容易。postgresql資料庫中...

postgresql中的序列nextval

需要向下圖一樣,需要對產品編碼編碼設定乙個序列。編碼規則sku 序列號 序列是基於bigint演算法的,因此範圍是不能超過乙個八字節 整數的範圍 9223372036854775808 到 9223372036854775807 由於nextval和setval呼叫絕不會回滾,如果需要序數的 無間隙...