亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        oracle數(shù)據(jù)庫(kù)中RSA算法的應(yīng)用

        2017-12-20 03:35:40任彥燕
        山西電子技術(shù) 2017年6期
        關(guān)鍵詞:私鑰二進(jìn)制公鑰

        任彥燕

        (太原理工大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,山西 太原 030024)

        oracle數(shù)據(jù)庫(kù)中RSA算法的應(yīng)用

        任彥燕

        (太原理工大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,山西 太原 030024)

        隨著計(jì)算機(jī)網(wǎng)絡(luò)和Internet的發(fā)展,全球信息化己成為人類(lèi)社會(huì)發(fā)展的大趨勢(shì)。在今天的信息社會(huì)里,科學(xué)技術(shù)的研究和發(fā)展十分快速,數(shù)據(jù)安全保密問(wèn)題也日益突出。RSA作為非對(duì)稱(chēng)加密算法,算法強(qiáng)度復(fù)雜、安全性依賴(lài)于算法與密鑰,能夠很好地將信息進(jìn)行加密。而人們通常對(duì)加密后的內(nèi)容摸不清頭緒,更直觀明白的是加密前的內(nèi)容,因此,解密工作很有必要。解密需要對(duì)應(yīng)相應(yīng)的解密算法,找到相應(yīng)的解密密鑰,并且在很短的時(shí)間內(nèi)將此工作完成,是十分困難的事情,而又快又準(zhǔn)進(jìn)行解密工作,更是難上加難,因此解密也是非常有技術(shù)含量的事情。

        數(shù)據(jù)安全; RSA; 解密

        1 加密描述

        oracle中對(duì)表中部分字段進(jìn)行RSA加密,將varchar數(shù)據(jù)轉(zhuǎn)化為二進(jìn)制數(shù)據(jù),再進(jìn)行數(shù)據(jù)的動(dòng)態(tài)加密,形成新的加密二進(jìn)制數(shù)據(jù)。

        2 解決方案

        尋找DES加密的公鑰和私鑰,以及加密算法,根據(jù)相應(yīng)的加密算法書(shū)寫(xiě)相應(yīng)的解密算法,對(duì)oracle加密字段進(jìn)行解密工程,最終將解密后的二進(jìn)制數(shù)據(jù)轉(zhuǎn)化為最初可以看懂的varchar數(shù)據(jù)進(jìn)行展示。

        oracle中對(duì)表字段數(shù)據(jù)進(jìn)行數(shù)據(jù)轉(zhuǎn)化和加密,并調(diào)用java代碼對(duì)數(shù)據(jù)進(jìn)行RSA加密。

        3 加解密過(guò)程描述

        1) 確定加密公鑰,加密私鑰。

        2) 使用RSA_ENCRYPT(UTL_I18N.STRING_TO_RAW(IN_STR, 'AL32UTF8'),PUBLIC_KEY,PRIVATE_KEY)加密算法,并對(duì)IN_STR字段用AL32UTF8進(jìn)行varchar到raw的數(shù)據(jù)轉(zhuǎn)化。

        3) 加密算法的實(shí)現(xiàn)。

        CREATE OR REPLACE FUNCTION RSA_ENCRYPT(SRC_DATA RAW, PUBLIC_KEY VARCHAR2, PRIVATE_KEY VARCHAR2) return RAW

        as language java name 'Encryptor.encrypt(byte[], java.lang.String, java.lang.String) return byte[]’;

        RSA_ENCRYPT(UTL_I18N.STRING_TO_RAW(IN_STR, 'AL32UTF8')方法中調(diào)用了java中Encryptor類(lèi)的.encrypt(byte[], java.lang.String, java.lang.String) 方法,進(jìn)行數(shù)據(jù)加密[1]。

        Encryptor類(lèi)的encrypt(byte[], java.lang.String, java.lang.String) 方法:

        byte[]中的內(nèi)容是需要加密的字段,第一個(gè)java.lang.String代表加密公鑰,第二個(gè)java.lang.String代表加密私鑰。采用對(duì)數(shù)據(jù)庫(kù)中的單個(gè)字母進(jìn)行轉(zhuǎn)換,位移等方式,將數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行加密。

        4) 解密算法的實(shí)現(xiàn)。

        根據(jù)上述的加密算法,相反方向進(jìn)行解密。首先,先將加密后的內(nèi)容,調(diào)用java中Encryptor類(lèi)的.decrypt(byte[], java.lang.String, java.lang.String) 方法,進(jìn)行數(shù)據(jù)解密。

        Encryptor類(lèi)的decrypt(byte[], java.lang.String, java.lang.String) 方法:

        byte[]中的內(nèi)容是需要解密的字段,第一個(gè)java.lang.String代表解密公鑰,第二個(gè)java.lang.String代表解密私鑰。采用對(duì)數(shù)據(jù)庫(kù)中的單個(gè)字母進(jìn)行轉(zhuǎn)換,位移等方式,將數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行解密。并最終返回byte[]類(lèi)型的數(shù)據(jù)。

        得到byte[]類(lèi)型的數(shù)據(jù)后,使用UTL_I18N.raw_to_char(ENCRYPTED_RAW, ’AL32UTF8’);方法,將byte[]類(lèi)型的數(shù)據(jù)轉(zhuǎn)化為人們可以看懂的字符類(lèi)型的數(shù)據(jù)。

        4 oracle數(shù)據(jù)庫(kù)中應(yīng)用

        1) oracle數(shù)據(jù)庫(kù)中數(shù)據(jù)加密后的結(jié)果。

        圖1 加密數(shù)據(jù)圖

        2) 將java程序引入到oracle數(shù)據(jù)庫(kù)中,如圖2所示。

        圖2 程序引入圖

        3) 將解密算法引入到oracle數(shù)據(jù)庫(kù)中

        CREATE OR REPLACE FUNCTION ryy_RSA_ENCRYPT(SRC_DATA RAW, PUBLIC_KEY VARCHAR2, PRIVATE_KEY VARCHAR2) return RAW as language java name ’Test.decrypt(byte[], java.lang.String, java.lang.String) return byte[]’;

        調(diào)用解密方法和使用相應(yīng)的公鑰和私鑰并對(duì)二進(jìn)制數(shù)據(jù)進(jìn)行轉(zhuǎn)化:

        CREATE OR REPLACE FUNCTION ryy_CHK_ENCRYPT(IN_STR RAW) RETURN VARCHAR2 IS

        ENCRYPTED_RAW RAW(2000); --加密的二進(jìn)制文本

        YUAN_ZIDUAN VARCHAR2(1000);

        PUBLIC_KEY VARCHAR2(1000); --密鑰

        PRIVATE_KEY VARCHAR2(1000); --密鑰

        BEGIN

        IF IN_STR IS NULL THEN

        RETURN NULL;

        END IF;

        PUBLIC_KEY := ”;

        PRIVATE_KEY :=”;

        ENCRYPTED_RAW := RYY_RSA_ENCRYPT(IN_STR,PUBLIC_KEY,PRIVATE_KEY);

        YUAN_ZIDUAN:=UTL_I18N.raw_to_char(ENCRYPTED_RAW, ’AL32UTF8’);

        RETURN YUAN_ZIDUAN;

        END;

        4) 最終在oracle的表中調(diào)用相應(yīng)的方法,對(duì)表中相應(yīng)的字段進(jìn)行解密:

        select a.busi_id,ryy_CHK_ENCRYPT(a.encrypted_not_pass) from CHK_BUSI_RESULT_DET a

        5) 解密后,獲得加密前的數(shù)據(jù)內(nèi)容,如圖3所示。

        圖3 解密后數(shù)據(jù)圖

        5 本研究的亮點(diǎn)

        加密、解密,密切跟數(shù)據(jù)庫(kù)中的數(shù)據(jù)相關(guān),將java程序與oracle數(shù)據(jù)庫(kù)緊密結(jié)合,java代碼和sql語(yǔ)言合為一體,結(jié)合生產(chǎn)實(shí)踐,將理論的加解密應(yīng)用到現(xiàn)實(shí)數(shù)據(jù)中,達(dá)到一定的研究高度。且快速的,將加密數(shù)據(jù)進(jìn)行解密,高效的解決實(shí)際問(wèn)題是我們學(xué)習(xí)、工作中一直追求的目標(biāo)。

        [1] 鞠宏偉,李鳳銀,禹繼國(guó),等.基于RSA的證實(shí)數(shù)字簽名方案[J].計(jì)算機(jī)工程,2006,32(7):154-156.

        ApplicationofRSAAlgorithminOracleDatabase

        Ren Yanyan

        (TaiyuanUniversityofTechnology,TaiyuanShanxi030024,China)

        With the development of computer network and Internet, the global informatization has become the general trend of human society development. In today's information society, the research and development of science and technology is very fast, and the problem of data security and security is becoming increasingly prominent. RSA, as an asymmetric encryption algorithm, has complex strength and security. It relies on algorithms and keys that can encrypt the information well. People usually do not understand the encrypted content, and what is more intuitive is the content before encryption. Therefore, decryption is necessary. The corresponding decryption requires the corresponding decryption algorithm, finds the corresponding decryption key and this work should be completed in a very short period of time, so it is very difficult thing, and quickly and accurately to decrypt is even more difficult. Therefore, the decryption is also very technical matter.

        data security; RSA; decryption

        2017-10-13

        任彥燕(1992- ),女,山西太原人,在讀碩士研究生,專(zhuān)業(yè)方向:軟件工程開(kāi)發(fā)與應(yīng)用。

        1674- 4578(2017)06- 0066- 02

        TP309.7

        A

        猜你喜歡
        私鑰二進(jìn)制公鑰
        比特幣的安全性到底有多高
        用二進(jìn)制解一道高中數(shù)學(xué)聯(lián)賽數(shù)論題
        基于改進(jìn)ECC 算法的網(wǎng)絡(luò)信息私鑰變換優(yōu)化方法
        有趣的進(jìn)度
        二進(jìn)制在競(jìng)賽題中的應(yīng)用
        一種基于混沌的公鑰加密方案
        一種基于虛擬私鑰的OpenSSL與CSP交互方案
        HES:一種更小公鑰的同態(tài)加密算法
        SM2橢圓曲線(xiàn)公鑰密碼算法綜述
        基于格的公鑰加密與證書(shū)基加密
        久久天天躁夜夜躁狠狠躁2022| 国产精品午夜福利天堂| 女同在线网站免费观看| 久青草影院在线观看国产| 国产 字幕 制服 中文 在线| 国产成人亚洲综合一区 | 鲁鲁鲁爽爽爽在线视频观看| 456亚洲人成影视在线观看| 亚洲国产精品亚洲高清| 东北熟妇露脸25分钟| 妺妺窝人体色www看美女| 亚洲欧洲高潮| 二区三区亚洲精品国产| 亚洲一区二区三区蜜桃| 人妻丰满熟妇av无码区不卡| 亚洲色大成网站www在线观看 | 精品福利一区二区三区蜜桃 | 亚洲AV无码国产永久播放蜜芽| 日韩在线视频不卡一区二区三区| 久久本道久久综合一人| 久久久精品人妻一区二区三区四区| 婷婷久久香蕉五月综合加勒比| 大陆极品少妇内射aaaaa| 思思99热| 国产激情视频在线观看首页| 国产成人亚洲精品无码青| 日韩好片一区二区在线看| 国产成人精品aaaa视频一区| 美腿丝袜日韩在线观看| 亚洲成av人影院| 青青在线精品2022国产| 久久亚洲春色中文字幕久久久综合 | 国产成人无码综合亚洲日韩| 国产精品区一区第一页| 97久久成人国产精品免费| 亚洲av成人av三上悠亚| 老妇女性较大毛片| 999久久66久6只有精品| 亚洲成人激情深爱影院在线 | 国产成人无码a区在线观看视频| 亚洲人成综合网站在线|