System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及mybatis領域,具體提供一種國產密碼加密存儲方法及裝置。
技術介紹
1、mybatis是一個優秀的持久層框架。因具有靈活性高、輕量級、映射配置豐富、性能較好等優點而得到廣泛應用。攔截器是mybatis提供的一種擴展機制,mybatis提供四種類型的攔截器:executor、statementhandler、parameterhandler和resulthandler。
2、可在不修改核心代碼的情況下,通過攔截特定的方法調用,實現自定義的功能擴展,比如添加日志記錄、性能監控、數據處理等。在越來越強調數據隱私和安全性的前提下,一些敏感信息(手機號等)密文存儲越來越重要,所以在基于mybatis的應用系統開發過程中,亟需在不增加開發工作量的前提下,實現敏感信息密文存儲,提升數據安全性。
技術實現思路
1、本專利技術是針對上述現有技術的不足,提供一種實用性強的國產密碼加密存儲方法。
2、本專利技術進一步的技術任務是提供一種設計合理,安全適用的國產密碼加密存儲裝置。
3、本專利技術解決其技術問題所采用的技術方案是:
4、一種國產密碼加密存儲方法,具有如下步驟:
5、s1、基于mybatsis的parameterhandler、resulthandler攔截器;
6、s2、定義加密注解@encrypt和解密注解@decrypt;
7、s3、定義接口mybatisprocessor和proces
8、s4、定義mybatisinterceptorholder收集存儲;
9、s5、定義兩個抽象類abstractresultprocessor和abstractparamprocessor;
10、s6、定制加密類decryptprocessor繼承abstractparamprocessor。
11、進一步的,在步驟s1中,定義兩類攔截器paraminterceptor和resultinterceptor,其中paraminterceptor負責數據入庫階段的數據加密,resultinterceptor負責數據查詢階段的數據解密。
12、進一步的,定義加密注解@encrypt和解密注解@decrypt,作用于java?bean的屬性,用于定義屬性需要加解密的情況,加解密注解均有type屬性,用于開發者自定義國產密碼類型。
13、進一步的,在步驟s3中,定義接口mybatisprocessor、process處理方法、自定義屬性注解類型和對應的處理實現以及優先級。
14、進一步的,在步驟s4中,定義mybatisinterceptorholder,收集存儲,當java?bean處理加載過,則將是否有加解密屬性及屬性詳情的信息存入內存,后續java?bean的處理無需利用發射掃描屬性信息。
15、進一步的,在步驟s5中,定義兩個抽象類abstractresultprocessor和abstractparamprocessor,均繼承mybatisprocessor,并實現gettype()方法,其中abstractresultprocessor對應resultinterceptor,abstractparamprocessor對應paraminterceptor。
16、進一步的,在步驟s6中,定制加密類decryptprocessor繼承abstractparamprocessor,實現基于國密sm2的數據加密;
17、定義解密類encryptprocessor繼承abstractresultprocessor,實現基于sm2的數據解密。
18、一種國產密碼加密存儲裝置,包括:至少一個存儲器和至少一個處理器;
19、所述至少一個存儲器,用于存儲機器可讀程序;
20、所述至少一個處理器,用于調用所述機器可讀程序,執行一種國產密碼加密存儲方法。
21、本專利技術的一種國產密碼加密存儲方法及裝置和現有技術相比,具有以下突出的有益效果:
22、本專利技術在不增加開發工作量的前提下,實現敏感信息國產密碼算法加密存儲,提升數據存儲階段的安全性。
本文檔來自技高網...【技術保護點】
1.一種國產密碼加密存儲方法,其特征在于,具有如下步驟:
2.根據要求1所述的一種國產密碼加密存儲方法,其特征在于,在步驟S1中,定義兩類攔截器ParamInterceptor和ResultInterceptor,其中ParamInterceptor負責數據入庫階段的數據加密,ResultInterceptor負責數據查詢階段的數據解密。
3.根據要求2所述的一種國產密碼加密存儲方法,其特征在于,在步驟S2中,定義加密注解@Encrypt和解密注解@Decrypt,作用于Java?Bean的屬性,用于定義屬性需要加解密的情況,加解密注解均有type屬性,用于開發者自定義國產密碼類型。
4.根據要求3所述的一種國產密碼加密存儲方法,其特征在于,在步驟S3中,定義接口MybatisProcessor、process處理方法、自定義屬性注解類型和對應的處理實現以及優先級。
5.根據要求4所述的一種國產密碼加密存儲方法,其特征在于,在步驟S4中,定義MybatisInterceptorHolder,收集存儲,當Java?Bean處理加載過,
6.根據要求5所述的一種國產密碼加密存儲方法,其特征在于,在步驟S5中,定義兩個抽象類AbstractResultProcessor和AbstractParamProcessor,均繼承MybatisProcessor,并實現getType()方法,其中AbstractResultProcessor對應ResultInterceptor,AbstractParamProcessor對應ParamInterceptor。
7.根據要求6所述的一種國產密碼加密存儲方法,其特征在于,在步驟S6中,定制加密類DecryptProcessor繼承AbstractParamProcessor,實現基于國密SM2的數據加密;
8.一種國產密碼加密存儲裝置,其特征在于,包括:至少一個存儲器和至少一個處理器;
...【技術特征摘要】
1.一種國產密碼加密存儲方法,其特征在于,具有如下步驟:
2.根據要求1所述的一種國產密碼加密存儲方法,其特征在于,在步驟s1中,定義兩類攔截器paraminterceptor和resultinterceptor,其中paraminterceptor負責數據入庫階段的數據加密,resultinterceptor負責數據查詢階段的數據解密。
3.根據要求2所述的一種國產密碼加密存儲方法,其特征在于,在步驟s2中,定義加密注解@encrypt和解密注解@decrypt,作用于java?bean的屬性,用于定義屬性需要加解密的情況,加解密注解均有type屬性,用于開發者自定義國產密碼類型。
4.根據要求3所述的一種國產密碼加密存儲方法,其特征在于,在步驟s3中,定義接口mybatisprocessor、process處理方法、自定義屬性注解類型和對應的處理實現以及優先級。
5.根據要求4所述的一種國產密碼加密存儲方法,其特征在于,在步驟s4中,定義mybatis...
【專利技術屬性】
技術研發人員:李康康,崔樂樂,李仰允,
申請(專利權)人:天元大數據信用管理有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。