欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

實(shí)現(xiàn)自主可控?cái)?shù)據(jù)庫(kù)自定義函數(shù)加密的方法與流程

文檔序號(hào):12064218閱讀:966來(lái)源:國(guó)知局
實(shí)現(xiàn)自主可控?cái)?shù)據(jù)庫(kù)自定義函數(shù)加密的方法與流程

本發(fā)明屬于涉及數(shù)據(jù)庫(kù)加密技術(shù)領(lǐng)域,尤其涉及一種實(shí)現(xiàn)自主可控?cái)?shù)據(jù)庫(kù)自定義函數(shù)加密的方法。



背景技術(shù):

隨著社會(huì)的發(fā)展,越來(lái)越多的數(shù)據(jù)采用電子化形式存儲(chǔ);無(wú)論是生活、工作、學(xué)習(xí)都離不開(kāi)信息系統(tǒng)的支撐。數(shù)據(jù)庫(kù)系統(tǒng)作為信息化技術(shù)的核心,其安全性和可靠性直接影響到整個(gè)信息化系統(tǒng)?,F(xiàn)有技術(shù)中為了提高信息化系統(tǒng)的安全性,通常都會(huì)對(duì)數(shù)據(jù)庫(kù)內(nèi)存儲(chǔ)的數(shù)據(jù)進(jìn)行加密。但是現(xiàn)有技術(shù)都忽略了一點(diǎn):如果數(shù)據(jù)庫(kù)的程序代碼泄漏,則意味著整個(gè)應(yīng)用系統(tǒng)也會(huì)面臨挑戰(zhàn),從而帶來(lái)嚴(yán)重的損失和后果。因此如何以技術(shù)手段保障數(shù)據(jù)庫(kù)程序代碼的安全已成為一個(gè)亟待解決的問(wèn)題。

作為示例性的,PostgreSQL是一宗典型的基礎(chǔ)的對(duì)象關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(ORDBMS)。PostgreSQL支持大部分SQL標(biāo)準(zhǔn)并且提供了許多其他現(xiàn)代特性。但是現(xiàn)有技術(shù)中的基于PostgreSQL的自主可控?cái)?shù)據(jù)庫(kù)不支持自定義函數(shù)加密,即基于PostgreSQL的自主可控?cái)?shù)據(jù)庫(kù)的自定義函數(shù)是以明文存儲(chǔ)在系統(tǒng)表pg_catalog.pg_proc中,并且所有用戶可讀,這樣為數(shù)據(jù)庫(kù)系統(tǒng)的安全性埋下了一個(gè)重大隱患,無(wú)法保證數(shù)據(jù)庫(kù)程序代碼的安全。



技術(shù)實(shí)現(xiàn)要素:

針對(duì)現(xiàn)有技術(shù)中不對(duì)數(shù)據(jù)庫(kù)的程序代碼進(jìn)行加密導(dǎo)致整個(gè)數(shù)據(jù)庫(kù)系統(tǒng)存在重大安全隱患的問(wèn)題,本發(fā)明實(shí)施例的目的是提供一種有效且高效的實(shí)現(xiàn)自主可控?cái)?shù)據(jù)庫(kù)自定義函數(shù)加密的方法,能夠?qū)?shù)據(jù)庫(kù)的程序代碼進(jìn)行加密。

為了解決上述問(wèn)題,本發(fā)明實(shí)施例提出了一種實(shí)現(xiàn)自主可控?cái)?shù)據(jù)庫(kù)自定義函數(shù)加密的方法,包括:

步驟1、獲取自定義函數(shù)的函數(shù)體代碼;將所述將自定義函數(shù)的函數(shù)體轉(zhuǎn)換成密文;

步驟2、創(chuàng)建自定義函數(shù)語(yǔ)言模板;創(chuàng)建過(guò)程語(yǔ)言模板;生成密文的自定義函數(shù);

步驟3、對(duì)密文的自定義函數(shù)進(jìn)行SQL解析,如果解析結(jié)果正確則對(duì)自定義函數(shù)進(jìn)行編譯,然后將編譯后的自定義函數(shù)存儲(chǔ)到pg_catalog.pg_proc文件中。

其中,所述步驟1中通過(guò)以下的一種加密算法對(duì)自定義函數(shù)的函數(shù)體進(jìn)行加密:Unicode、ASCII、GBK、GB2312、UTF-8。

其中,所述步驟1中對(duì)自定義函數(shù)的函數(shù)體采用流加密方式進(jìn)行加密,所述流加密包括:一邊解密一邊編譯,并在把編譯完成后將相應(yīng)部分刪除。

本發(fā)明的上述技術(shù)方案的有益效果如下:上述的技術(shù)方案提出了一種實(shí)現(xiàn)自主可控?cái)?shù)據(jù)庫(kù)自定義函數(shù)加密的方法,能夠保證數(shù)據(jù)庫(kù)業(yè)務(wù)代碼的全生命周期安全,解決了涉密信息以明文形式存在的問(wèn)題。

附圖說(shuō)明

圖1是現(xiàn)有的自定義函數(shù)創(chuàng)建流程圖;

圖2是的本發(fā)明實(shí)施例的自定義函數(shù)創(chuàng)建流程圖;

圖3是自主可控?cái)?shù)據(jù)庫(kù)自定義函數(shù)加密創(chuàng)建流程圖。

具體實(shí)施方式

為使本發(fā)明要解決的技術(shù)問(wèn)題、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖及具體實(shí)施例進(jìn)行詳細(xì)描述。

如圖1所示的,現(xiàn)有技術(shù)中的生成自定義函數(shù)的流程包括:對(duì)自定義函數(shù)進(jìn)行編輯,并對(duì)編輯后的自定義函數(shù)進(jìn)行SQL解析,如果解析結(jié)果正確則對(duì)自定義函數(shù)進(jìn)行編譯,然后將編譯后的自定義函數(shù)存儲(chǔ)到pg_proc文件中;如果解析結(jié)果錯(cuò)誤則輸出錯(cuò)誤提醒。

本發(fā)明實(shí)施例采用加密算法對(duì)函數(shù)體進(jìn)行加密,這樣就無(wú)需修改數(shù)據(jù)庫(kù)的內(nèi)核,因此本發(fā)明實(shí)施例相比較現(xiàn)有的在創(chuàng)建函數(shù)時(shí)將函數(shù)轉(zhuǎn)換為密文的加密方式,可以減少數(shù)據(jù)庫(kù)升級(jí)時(shí)對(duì)內(nèi)核進(jìn)行修改的工作量。而本發(fā)明實(shí)施例的加密算法的設(shè)計(jì)思路是將函數(shù)體內(nèi)所有的字母和符號(hào)順序進(jìn)行隨機(jī)調(diào)換。具體的,本發(fā)明實(shí)施例可以采用多種主流的編碼方式對(duì)函數(shù)體的程序代碼,主要包括:Unicode、ASCII、GBK、GB2312、UTF-8等主流的編碼方式。且加密時(shí)采用流加密,即一邊解密一邊編譯,把編譯過(guò)的部分清掉,以提高代碼安全性。

本發(fā)明實(shí)施例中,將被保護(hù)的業(yè)務(wù)信息系統(tǒng)稱為目標(biāo)程序,將被保護(hù)的人員稱為目標(biāo)用戶。

本發(fā)明實(shí)施例提出了一種如圖2和圖3所示的實(shí)現(xiàn)自主可控?cái)?shù)據(jù)庫(kù)自定義函數(shù)加密的方法,具體包括:

步驟1、獲取自定義函數(shù)的函數(shù)體代碼;將所述將自定義函數(shù)的函數(shù)體轉(zhuǎn)換成密文;

步驟2、創(chuàng)建自定義函數(shù)語(yǔ)言模板;創(chuàng)建過(guò)程語(yǔ)言模板;生成密文的自定義函數(shù);

步驟3、對(duì)密文的自定義函數(shù)進(jìn)行SQL解析,如果解析結(jié)果正確則對(duì)自定義函數(shù)進(jìn)行編譯,然后將編譯后的自定義函數(shù)存儲(chǔ)到pg_catalog.pg_proc文件中。

其中,所述步驟1中通過(guò)以下的一種加密算法對(duì)自定義函數(shù)的函數(shù)體進(jìn)行加密:Unicode、ASCII、GBK、GB2312、UTF-8。

其中,所述步驟1中對(duì)自定義函數(shù)的函數(shù)體采用流加密方式進(jìn)行加密,即一邊解密一邊編譯,把編譯過(guò)的部分清掉。

具體的,本發(fā)明實(shí)施例的方法包括:

1、將自定義函數(shù)轉(zhuǎn)換成密文

pl_powerdbsrcfile[outfile]

srcfile里只包含函數(shù)體部分,輸出加密后的密文。

2、創(chuàng)建存儲(chǔ)過(guò)程語(yǔ)言模板

INSERT INTO

3、創(chuàng)建過(guò)程語(yǔ)言

CREATE LANGUAGE plpgwrappedsql;

創(chuàng)建函數(shù)

CREATE FUNCTION func_name()

RETURNS type

AS

$$

<密文形式自定義函數(shù)>

$$

LANGUAGE plpgpowerdbsql;

至此,自定義函數(shù)加密成功。

本發(fā)明實(shí)施例采用加密算法對(duì)函數(shù)體進(jìn)行加密,這樣就無(wú)需修改數(shù)據(jù)庫(kù)的內(nèi)核,因此本發(fā)明實(shí)施例相比較現(xiàn)有的在創(chuàng)建函數(shù)時(shí)將函數(shù)轉(zhuǎn)換為密文的加密方式,可以減少數(shù)據(jù)庫(kù)升級(jí)時(shí)對(duì)內(nèi)核進(jìn)行修改的工作量。而本發(fā)明實(shí)施例的加密算法的設(shè)計(jì)思路是將函數(shù)體內(nèi)所有的字母和符號(hào)順序進(jìn)行隨機(jī)調(diào)換。具體的,本發(fā)明實(shí)施例可以采用多種主流的編碼方式對(duì)函數(shù)體的程序代碼,主要包括:Unicode、ASCII、GBK、GB2312、UTF-8等主流的編碼方式。以提高代碼安全性。

以上所述是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明所述原理的前提下,還可以作出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
巴塘县| 定边县| 平原县| 招远市| 抚顺市| 长泰县| 长岛县| 天等县| 连山| 喀喇沁旗| 三明市| 民勤县| 乡城县| 高州市| 仪征市| 湖南省| 郯城县| 遂溪县| 彭州市| 洪洞县| 和龙市| 南郑县| 临湘市| 大荔县| 菏泽市| 方正县| 焉耆| 澜沧| 华坪县| 惠来县| 兰州市| 临清市| 蒙山县| 阜宁县| 东源县| 聂拉木县| 子洲县| 阿拉善左旗| 玉田县| 开原市| 黄大仙区|