亚洲 卡通 欧美 制服 中文,午夜在线看的免费网站,黑人太大了太深了好痛 视频,国产乱妇乱子视频在播放

廣州總部電話:020-85564311
20年
互聯(lián)網(wǎng)應(yīng)用服務(wù)商
廣州總部電話:020-85564311
20年
互聯(lián)網(wǎng)應(yīng)用服務(wù)商
請輸入搜索關(guān)鍵詞
知識庫 知識庫

優(yōu)網(wǎng)知識庫

探索行業(yè)前沿,共享知識寶庫

使用數(shù)據(jù)庫的加密解密函數(shù)

發(fā)布日期:2025-08-04 08:45:00 瀏覽次數(shù): 809 來源:老王的學(xué)習(xí)日志
推薦語
數(shù)據(jù)庫自帶的加密解密函數(shù),讓敏感數(shù)據(jù)存儲更簡單高效,省去額外類庫調(diào)用的麻煩。

核心內(nèi)容:
1. 敏感數(shù)據(jù)加密的必要性與分類(單向/雙向)
2. MySQL與PostgreSQL實現(xiàn)加密解密的函數(shù)對比
3. AES-128-ECB模式的具體應(yīng)用示例
小優(yōu) 網(wǎng)站建設(shè)顧問
專業(yè)來源于二十年的積累,用心讓我們做到更好!

 简单的加密/解密处理,就偷点懒,直接用数据库自带的函数了……


工作中,会有一些数据,往数据库里面存储的时候,不能以明文的方式存储,比如手机号码啊、用户密码之类的。


用户密码之类的,单向的,还好办,只加密,不解密的。

注册的时候,做一下加密,然后存储到数据库。

登录的时候,是拿输入的密码,去做加密的操作,然后,拿加密的结果,与数据库里面,注册的时候的加密结果,做对比,一样的话,就认为是密码正确,否则就是密码不正确。


而手机之类的,是双向的了,存储的时候,要加密,读取的时候,要解密。

也就是,写入的时候,需要做一下加密的操作,然后再存储到数据库里面。

读取的时候,需要从数据库读出来了,做一下解密的操作,再拿去做后续的处理。


一般来说,加密/解密的处理,都是用编程语言来做的。

比如 Java 、 C#、Python 之类的语言,来处理。

就是要调用各自的 加密/解密的 类库,来处理了。


但是,想一想,一些简单的加密函数,如果数据库自身就带有相关函数的话。

那编程语言, 直接调数据库的函数就完了,不需要去引用类库,然后再调用了。



看了一下,MySQL 自带了一些, PostgreSQL,是需要安装一个 pgcrypto 扩展。


下面是一些简单的例子


 

AES-128-ECB 模式 - 加密

mysql

SET block_encryption_mode = 'aes-128-ecb';

SELECT
  to_base64(
    AES_ENCRYPT(
      '测试需要加密的文本:12312345678', 
      '0123456789ABCDEF'));

postgresql

SELECT 
  encode(
    encrypt(
      convert_to('测试需要加密的文本:12312345678', 'UTF8'),
      convert_to('0123456789ABCDEF', 'UTF8'),
      'aes-ecb/pad:pkcs'), 'base64');

结果都是:

Q5ZotPBdieWSWbhXver3gEm9xG7RC5MjCN2gJ3+LYM/C7YrxZtZKxD5NVwKt7TiB

AES-128-ECB 模式 - 解密

mysql

SET block_encryption_mode = 'aes-128-ecb';

SELECT
  CONVERT(
    AES_DECRYPT(
      FROM_BASE64('Q5ZotPBdieWSWbhXver3gEm9xG7RC5MjCN2gJ3+LYM/C7YrxZtZKxD5NVwKt7TiB'),
      '0123456789ABCDEF') USING utf8);
      

postgresql


SELECT 
  convert_from(
    decrypt(
      decode('Q5ZotPBdieWSWbhXver3gEm9xG7RC5MjCN2gJ3+LYM/C7YrxZtZKxD5NVwKt7TiB', 'base64'),
      convert_to('0123456789ABCDEF', 'UTF8'),
      'aes-ecb/pad:pkcs'), 'UTF8');

结果都是:

测试需要加密的文本:12312345678

AES-128-CBC 模式 - 加密

mysql

SET block_encryption_mode = 'aes-128-cbc';

SELECT
  to_base64(
    AES_ENCRYPT(
      '测试需要加密的文本:12312345678', 
      '0123456789ABCDEF', 
      '0987654321123456'));

postgresql

SELECT 
  encode(
    encrypt_iv(
      convert_to('测试需要加密的文本:12312345678', 'UTF8'),
      convert_to('0123456789ABCDEF', 'UTF8'),
      convert_to('0987654321123456', 'UTF8'),
      'aes-cbc/pad:pkcs'), 'base64');

结果都是:

n18n8PDiMi/F950WLAcEQUmc3yaECLX/Rlpp4OKiuDlFpA/6LFsV5hrDtvMqSTd2

AES-128-CBC 模式 - 解密

mysql

SET block_encryption_mode = 'aes-128-cbc';

SELECT
  CONVERT(
    AES_DECRYPT(
      FROM_BASE64('n18n8PDiMi/F950WLAcEQUmc3yaECLX/Rlpp4OKiuDlFpA/6LFsV5hrDtvMqSTd2'),
      '0123456789ABCDEF', 
      '0987654321123456') USING utf8);

postgresql

SELECT 
  convert_from(
    decrypt_iv(
      decode('n18n8PDiMi/F950WLAcEQUmc3yaECLX/Rlpp4OKiuDlFpA/6LFsV5hrDtvMqSTd2', 'base64'),
      convert_to('0123456789ABCDEF', 'UTF8'),
      convert_to('0987654321123456', 'UTF8'),
      'aes-cbc/pad:pkcs'), 'UTF8');

结果都是:

测试需要加密的文本:12312345678

 






優(yōu)網(wǎng)科技,優(yōu)秀企業(yè)首選的互聯(lián)網(wǎng)供應(yīng)服務(wù)商

優(yōu)網(wǎng)科技秉承"專業(yè)團隊、品質(zhì)服務(wù)" 的經(jīng)營理念,誠信務(wù)實的服務(wù)了近萬家客戶,成為眾多世界500強、集團和上市公司的長期合作伙伴!

優(yōu)網(wǎng)科技成立于2001年,擅長網(wǎng)站建設(shè)、網(wǎng)站與各類業(yè)務(wù)系統(tǒng)深度整合,致力于提供完善的企業(yè)互聯(lián)網(wǎng)解決方案。優(yōu)網(wǎng)科技提供PC端網(wǎng)站建設(shè)(品牌展示型、官方門戶型、營銷商務(wù)型、電子商務(wù)型、信息門戶型、微信小程序定制開發(fā)、移動端應(yīng)用(手機站、APP開發(fā))、微信定制開發(fā)(微信官網(wǎng)、微信商城、企業(yè)微信)等一系列互聯(lián)網(wǎng)應(yīng)用服務(wù)。


我要投稿

姓名

文章鏈接

提交即表示你已閱讀并同意《個人信息保護聲明》

專屬顧問 專屬顧問
掃碼咨詢您的優(yōu)網(wǎng)專屬顧問!
專屬顧問
馬上咨詢
掃一掃馬上咨詢
掃一掃馬上咨詢

掃一掃馬上咨詢