溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

pgcrypto加密擴展插件怎么在postgresql中使用

發(fā)布時間:2021-01-19 15:19:42 來源:億速云 閱讀:237 作者:Leah 欄目:開發(fā)技術(shù)

本篇文章為大家展示了pgcrypto加密擴展插件怎么在postgresql中使用,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

在主節(jié)點上安裝

create extension pgcrypto;

pgcrypto加密擴展插件怎么在postgresql中使用

aes加解密函數(shù)簡單介紹

encrypt(data bytea, key bytea, type text) --加密
decrypt(data bytea, key bytea, type text) --解密

data 是需要加密的數(shù)據(jù);type 用于指定加密方法

ASE方式加密:

select encrypt('postgres','abc','aes');

解密:

select convert_from(decrypt('\xd664687424b2806001d0744177284420','abc','aes'),'SQL_ASCII');

pgcrypto加密擴展插件怎么在postgresql中使用

建表測試一下

test=# create table user_test(username varchar(20),password varchar(60));
CREATE TABLE
test=# insert into user_test values('miya',encode(encrypt('123','abc','aes'),'hex'));
INSERT 0 1
test=# insert into user_test values('kimi',encode(encrypt('456','abc','aes'),'hex'));
INSERT 0 1
test=# select * from user_test;
 username |    password    
----------+----------------------------------
 miya  | a4bf9afce727dbd2805393a86a24096c
 kimi  | 84279efc7942ca7364abcce78db90b0b
(2 rows)

pgcrypto加密擴展插件怎么在postgresql中使用

解密后可以看出加密前的密碼

test=# select convert_from(decrypt(decode(password,'hex'),'abc','aes'),'SQL_ASCII') as real_pw,* from user_test;
 real_pw | username |    password    
---------+----------+----------------------------------
 123  | miya  | a4bf9afce727dbd2805393a86a24096c
 456  | kimi  | 84279efc7942ca7364abcce78db90b0b

pgcrypto加密擴展插件怎么在postgresql中使用

pgcrypto加密還支持很多如md5,bf等詳細可以查看官方文檔

補充:PostgreSQL pgcrypto模塊加密解密函數(shù)

今天有個需求,要使用數(shù)據(jù)庫的加密與解密方法,先將部分注意事項寫下備查:

首先要安裝pgcrypto模塊,安裝方法進入postgresql的源安裝包文件夾,進入contrib目錄,找到pgcrypto文件夾,進入進行編譯安裝,命令如下:

make USE_PGXS=1
make install

安裝好以后,使用管理員用戶登錄使用加解密函數(shù)的數(shù)據(jù)庫,創(chuàng)建extension

create extension pgcrypto ;

pgcrypto 提供了可逆加密算法:

加密函數(shù)

select encrypt('123456','aa','aes');
    encrypt    
------------------------------------
 \x39c3c665757a0ff973b83fb98cc3d63f

解密函數(shù)

select convert_from(decrypt('\x39c3c665757a0ff973b83fb98cc3d63f','aa','aes'),'SQL_ASCII');
 convert_from 
--------------
 123456

上述內(nèi)容就是pgcrypto加密擴展插件怎么在postgresql中使用,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI