返回顶部
首页 > 资讯 > 数据库 >怎么进行Oracle Data Redaction数据加密
  • 738
分享到

怎么进行Oracle Data Redaction数据加密

2024-04-02 19:04:59 738人浏览 安东尼
摘要

今天就跟大家聊聊有关怎么进行oracle Data Redaction数据加密,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 1.Oracle R

今天就跟大家聊聊有关怎么进行oracle Data Redaction数据加密,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

1.Oracle Redaction概述

Oracle Data Redaction是Oracle安全加密类的高级功能,可用于对于敏感数据的加密处理,加密配置处理均在Oracle层面实现。这是一项和安全相关的技术类别,对于指定的用户可以限制某些表的某些列显示被加密改过的值。对于Redaction之前,可能需要自定义加密函数、创建特定的视图,或者在存储到数据库的时候就用加密算法进行加密。而Redaction可以直接对数据进行加密,不会影响到数据真实的存储,对应用透明,不需要改动。

对于权限,Redaction不能对sys和system用户进行数据的加密。因为他们都有EXP_FULL_DATABASE这个角色, 而这个角色又包含了EXEMPT REDACTION POLICY系统权限。同时,也不能直接赋予用户dba权限,dba自动包含EXP_FULL_DATABASE角色。测试过程中发现,对于拥有dba权限的用户来说,表的数据可以加密操作,但没有实际加密效果。

对于常用的加密类型说明如下:

1.Full redaction:对某字段数据全部加密,number类型的列将全部返回为0,character类型的列将全部返回为空格,日期类型返回为yyyy-mm-dd;

2.Partial redaction:对列中的一部分数据进行redact,比如,可以对身份证号或手机号的中间几位设置返回为*,剩下的几位保持不变,这种场景适用于固定长度;

3.Regular expressions:对于非固定长度的character类型数据进行部分加密;

4.Random redaction:随机加密,每次展现的加密结果是不一定一样;

本次加密测试环境介绍信息如下:

OS版本

Oracle版本

是否RAC

RHEL6.5

11.2.0.4.170418

 


2. Oracle Redaction加密测试

2.1环境测试准备

本次只模拟几种常用加密场景,创建用户、表,并赋予相应权限;若无特殊说明时,调用DBMS_REDACT所使用的均为zhangxg用户。

sql> create user zhangxg identified by zhangxg;

User created.

SQL> grant connect,resource to zhangxg;

Grant succeeded.

SQL> grant select on sys.redaction_policies TO zhangxg;

Grant succeeded.

SQL> grant select on sys.redaction_columns TO zhangxg;

Grant succeeded.

SQL> grant execute on dbms_redact TO zhangxg;

Grant succeeded.

SQL> create user nosee identified by zhangxg;

User created.

SQL> grant connect,resource to nosee;

Grant succeeded.

SQL> CREATE TABLE ZHANGXG.TAB1 (

  2  "EMPLOYEE_ID" NUMBER(6,0),

  3  "FIRST_NAME" VARCHAR2(20),

  4  "LAST_NAME" VARCHAR2(25),

  5  "SOCIAL_SECURITY" VARCHAR2(11),

  6  "SALARY" NUMBER(4,0)

  7  );

Table created.

SQL> insert into tab1 values (100,'steven','king','247-85-9056',7000);

1 row created.

SQL> insert into tab1  values (101,'neena','kochhar','334-08-6578',5000);

1 row created.

SQL> commit;

commit complete.

SQL> grant select on zhangxg.tab1 to nosee;

grant succeeded.

SQL> select * from tab1;

EMPLOYEE_ID FIRST_NAME     LAST_NAME       SOCIAL_SECU     SALARY

----------- -------------------- ------------------------- ----------- ----------

        100 Steven               King                      247-85-9056       7000

        101 Neena                Kochhar                   334-08-6578       5000

2.2对表的某些字段加密

调用DBMS_REDACT包创建policy策略

SQL> BEGIN

  2    DBMS_REDACT.ADD_POLICY (

  3       object_schema          => 'ZHANGXG',

  4       object_name            => 'TAB1',

  5       policy_name            => 'REDACT_1',

  6       column_name            => 'SOCIAL_SECURITY',

  7       function_type          => DBMS_REDACT.PARTIAL,

  8       EXPRESSION             =>'1=1',

  9       function_parameters    => 'VVVFVVFVVVV,VVV-VV-VVVV,*,1,5'

 10    );

 11    END;

 12    /

PL/SQL procedure successfully completed.

SQL>

SQL>  select * from tab1;

EMPLOYEE_ID FIRST_NAME        LAST_NAME       SOCIAL_SECURITY               SALARY

----------- -------------------- -------------------- ------------------ ----------

        100 Steven         King               ***-**-9056                 7000

        101 Neena           Kochhar           ***-**-6578                 5000

SQL> SQL> conn nosee/zhangxg

Connected.

SQL>

SQL> select * from zhangxg.tab1;

EMPLOYEE_ID FIRST_NAME           LAST_NAME                 SOCIAL_SECU     SALARY

----------- -------------------- ------------------------- ----------- ----------

        100 Steven               King                      ***-**-9056       7000

        101 Neena                Kochhar                   ***-**-6578       5000

基于某列加密的基础上,再增加一个乱码显示的列,即多列加密显示

SQL> BEGIN

  2  DBMS_REDACT.ALTER_POLICY(

  3    object_schema       => 'ZHANGXG',

  4    object_name         => 'TAB1',

  5    policy_name         => 'REDACT_1',

  6    action              => DBMS_REDACT.ADD_COLUMN,

  7    column_name         => 'LAST_NAME',

  8    function_type       => DBMS_REDACT.RANDOM);

  9  END;

 10  /

PL/SQL procedure successfully completed.

SQL> select * from tab1;

EMPLOYEE_ID FIRST_NAME           LAST_NAME                 SOCIAL_SECU     SALARY

----------- -------------------- ------------------------- ----------- ----------

        100 Steven               K5r.                      ***-**-9056       7000

        101 Neena                ymP'@Ea                   ***-**-6578       5000

SQL> conn nosee/zhangxg

Connected.

SQL> select * from zhangxg.tab1;

EMPLOYEE_ID FIRST_NAME           LAST_NAME                 SOCIAL_SECU     SALARY

----------- -------------------- ------------------------- ----------- ----------

        100 Steven               YZ$z                      ***-**-9056       7000

        101 Neena                HSTk}5l                   ***-**-6578       5000

2.3Redaction的权限控制

对于权限的控制,我们可以直接选择用户去过滤,但用户过多时可以使用role来进行权限的控制。

nosee用户看到的结果也是加密的

SQL> show user

USER is "ZHANGXG"

SQL>

SQL> select * from tab1;

EMPLOYEE_ID FIRST_NAME           LAST_NAME                 SOCIAL_SECU     SALARY

----------- -------------------- ------------------------- ----------- ----------

        100 Steven               NPnj                      ***-**-9056       7000

        101 Neena                ~<'`utz                   ***-**-6578       5000

SQL> conn nosee/zhangxg

Connected.

SQL> select * from zhangxg.tab1;

EMPLOYEE_ID FIRST_NAME           LAST_NAME                 SOCIAL_SECU     SALARY

----------- -------------------- ------------------------- ----------- ----------

        100 Steven               @a8H                      ***-**-9056       7000

        101 Neena                `&&3P--                   ***-**-6578       5000

更改策略,除zhangxg本身用户外,其他用户访问均为加密

SQL> BEGIN

  2  DBMS_REDACT.ALTER_POLICY (

  3     object_schema          =>'ZHANGXG',

  4     object_name            =>'TAB1',

  5     policy_name            =>'REDACT_1',

  6     column_name            =>'SOCIAL_SECURITY',

  7     action                 => DBMS_REDACT.MODIFY_EXPRESSION,

  8     expression      =>'SYS_CONTEXT ( ''USERENV'',''SESSION_USER'' ) !=''ZHANGXG'''

  9  );

 10  END;

 11  /

PL/SQL procedure successfully completed.

SQL> select * from tab1;

EMPLOYEE_ID FIRST_NAME           LAST_NAME                 SOCIAL_SECU     SALARY

----------- -------------------- ------------------------- ----------- ----------

        100 Steven               King                      247-85-9056       7000

        101 Neena                Kochhar                   334-08-6578       5000

SQL> conn nosee/zhangxg

Connected.

SQL> select * from zhangxg.tab1;

EMPLOYEE_ID FIRST_NAME           LAST_NAME                 SOCIAL_SECU     SALARY

----------- -------------------- ------------------------- ----------- ----------

        100 Steven               5}2g                      ***-**-9056       7000

        101 Neena                $b=Z%,W                   ***-**-6578       5000

创建角色和用户用于模拟

SQL> create user cansee identified by zhangxg;

User created.

SQL> grant connect,resource to cansee;

Grant succeeded.

SQL> grant select on zhangxg.tab1 to cansee;

Grant succeeded.

SQL> create role redac_role;

Role created.

SQL> grant redac_role to cansee;

Grant succeeded.

下面,我们尝试去掉一个列的加密效果,即去掉LAST_NAME字段的全加密策略

 

SQL> BEGIN

  2   DBMS_REDACT.ALTER_POLICY(

  3    object_schema       => 'ZHANGXG',

  4    object_name         => 'TAB1',

  5    policy_name         => 'REDACT_1',

  6    action              => DBMS_REDACT.DROP_COLUMN,

  7    column_name         => 'LAST_NAME',

  8  expression             =>'1=1');

  9  END;

 10  /

PL/SQL procedure successfully completed.

SQL>

SQL> conn nosee/zhangxg

Connected.

SQL> select * from zhangxg.tab1;

EMPLOYEE_ID     FIRST_NAME      LAST_NAME      SOCIAL_SECU     SALARY

----------- -------------------- -------------- ----------- ----------

        100 Steven      King                      ***-**-9056       7000

        101 Neena      Kochhar                   ***-**-6578       5000

 

再次更改策略,只让zhangxg和cansee用户查看,其他用户为加密结果;这里我们新建了REDAC_ROLE角色去控制,拥有该角色的用户可正常查看,没有该角色的用户查看结果为加密;

 

SQL> BEGIN

  2  DBMS_REDACT.ALTER_POLICY (

  3     object_schema          =>'ZHANGXG',

  4     object_name            =>'TAB1',

  5     policy_name            =>'REDACT_1',

  6     column_name            =>'SOCIAL_SECURITY',

  7     action                 => DBMS_REDACT.MODIFY_EXPRESSION,

  8     expression     => 'SYS_CONTEXT(''SYS_SESSION_ROLES'',''REDAC_ROLE'') = ''FALSE'''

  9  );

 10  END;

 11  /

PL/SQL procedure successfully completed.

SQL> select * from zhangxg.tab1;

EMPLOYEE_ID FIRST_NAME           LAST_NAME                 SOCIAL_SECU     SALARY

----------- -------------------- ------------------------- ----------- ----------

        100 Steven               King                      ***-**-9056       7000

        101 Neena                Kochhar                   ***-**-6578       5000

SQL>

SQL> conn / as sysdba

Connected.

SQL>

SQL> grant redac_role to zhangxg;

Grant succeeded.

SQL> conn zhangxg/zhangxg

Connected.

SQL> select * from zhangxg.tab1;

EMPLOYEE_ID FIRST_NAME           LAST_NAME                 SOCIAL_SECU     SALARY

----------- -------------------- ------------------------- ----------- ----------

        100 Steven               King                      247-85-9056       7000

        101 Neena                Kochhar                   334-08-6578       5000

SQL> conn cansee/zhangxg

Connected.

SQL>

SQL> select * from zhangxg.tab1;

EMPLOYEE_ID FIRST_NAME           LAST_NAME                 SOCIAL_SECU     SALARY

----------- -------------------- ------------------------- ----------- ----------

        100 Steven               King                      247-85-9056       7000

        101 Neena                Kochhar                   334-08-6578       5000

SQL> conn nosee/zhangxg

Connected.

SQL> select * from zhangxg.tab1;

EMPLOYEE_ID FIRST_NAME           LAST_NAME                 SOCIAL_SECU     SALARY

----------- -------------------- ------------------------- ----------- ----------

        100 Steven               King                      ***-**-9056       7000

        101 Neena                Kochhar                   ***-**-6578       5000

2.4Redaction的使用限制

通过测试可以得出以下结论:

1.对加密的列不能同时使用distinct和order by,如果使用,必须加一层select,无论对于使用的用户是否是加密可见;

2.加密的结果优先级高于函数,比如distinct;

3.对于group by不影响结果的准确性,与未加密结果一致;

4.加密后的表无法进行CTAS(create table as select)操作;

对于加密后剩余字符不一样时,distinct结果是不影响的

SQL> show user

USER is "NOSEE"

SQL> col SOCIAL_SECURITY for a25

SQL> select * from zhangxg.tab1;

EMPLOYEE_ID FIRST_NAME   LAST_NAME   SOCIAL_SECURITY     SALARY

----------- ------------ ----------- ------------------ -------

        100 Steven       King        ***-**-9056           7000

        101 Neena        Kochhar     ***-**-6578           5000

SQL> select distinct SOCIAL_SECURITY from zhangxg.tab1;

SOCIAL_SECURITY

-------------------------

***-**-9056

***-**-6578

SQL> conn zhangxg/zhangxg

Connected.

SQL> select * from zhangxg.tab1;

EMPLOYEE_ID FIRST_NAME   LAST_NAME    SOCIAL_SECURITY      SALARY

----------- ------------ ------------ ---------------- ----------

        100 Steven       King         247-85-9056            7000

        101 Neena        Kochhar      334-08-6578            5000

手动update,将SOCIAL_SECURITY后4位改成一致

SQL> update tab1 set SOCIAL_SECURITY='334-08-9056' where EMPLOYEE_ID=101;

1 row updated.

SQL> commit;

Commit complete.

SQL> select * from zhangxg.tab1;

EMPLOYEE_ID FIRST_NAME   LAST_NAME   SOCIAL_SECURITY        SALARY

----------- ------------ ----------- ------------------ ----------

        100 Steven       King        247-85-9056              7000

        101 Neena        Kochhar     334-08-9056              5000

此时,对于加密不限制用户来说,distinct结果是2行

SQL> select distinct SOCIAL_SECURITY from zhangxg.tab1;

SOCIAL_SECURITY

-------------------------

334-08-9056

247-85-9056

对于加密用户来说,distinct结果是1行,说明是先进行的加密,后进行distinct

SQL> conn nosee/zhangxg

Connected.

SQL> select distinct SOCIAL_SECURITY from zhangxg.tab1;

SOCIAL_SECURITY

-------------------------

***-**-9056

当对加密列同时使用distinct和order by,报语法错误,该问题已确认为bug,而且没有补丁,Bug 19558306 ;

SQL> select distinct SOCIAL_SECURITY from zhangxg.tab1 order by SOCIAL_SECURITY;

select distinct SOCIAL_SECURITY from zhangxg.tab1 order by SOCIAL_SECURITY

                *

ERROR at line 1:

ORA-01791: not a SELECTed expression

做为workaround,可以将SQL改写为子查询

SQL> select * from (select distinct SOCIAL_SECURITY from zhangxg.tab1 order by SOCIAL_SECURITY);

SOCIAL_SECURITY

-------------------------

***-**-9056

***-**-9056

SQL> conn zhangxg/zhangxg

Connected.

SQL> select distinct SOCIAL_SECURITY from zhangxg.tab1 order by SOCIAL_SECURITY;

select distinct SOCIAL_SECURITY from zhangxg.tab1 order by SOCIAL_SECURITY

                *

ERROR at line 1:

ORA-01791: not a SELECTed expression

SQL> select * from  zhangxg.tab1;

EMPLOYEE_ID FIRST_NAME     LAST_NAME   SOCIAL_SECURITY        SALARY

----------- -------------- ----------- ------------------ ----------

        100 Steven         King        247-85-9056              7000

        101 Neena          Kochhar     334-08-9056              5000

对于group by,加密后的效果是不影响分组判断

SQL>  conn zhangxg/zhangxg

Connected.

SQL> select SOCIAL_SECURITY,count(*) from zhangxg.tab1 group by SOCIAL_SECURITY;

SOCIAL_SECURITY             COUNT(*)

------------------------- ----------

334-08-9056                        1

247-85-9056                        1

SQL>  conn nosee/zhangxg

Connected.

SQL>

SQL>  select SOCIAL_SECURITY,count(*) from zhangxg.tab1 group by SOCIAL_SECURITY;

SOCIAL_SECURITY             COUNT(*)

------------------------- ----------

***-**-9056                        1

***-**-9056                        1

对于加密后的表无法进行CTAS操作,其实逻辑上是对的,既然加密了,如果能ctas成功那么加密就是去了意义

SQL> show user

USER is "NOSEE"

SQL> select * from  zhangxg.tab1;

EMPLOYEE_ID FIRST_NAME   LAST_NAME  SOCIAL_SECURITY   SALARY

----------- ------------ ---------- ----------------- ------

        100 Steven       King       ***-**-9056         7000

        101 Neena        Kochhar    ***-**-9056         5000

SQL> create table ctastab as select * from zhangxg.tab1;

create table ctastab as select * from zhangxg.tab1

                               *

ERROR at line 1:

ORA-28081: Insufficient privileges - the command references a redacted object.

SQL> conn / as sysdba

Connected.

SQL> grant exempt redaction policy to NOSEE;

Grant succeeded.

SQL>  conn nosee/zhangxg

Connected.

SQL> create table ctastab as select * from zhangxg.tab1;

Table created.

SQL> select * from ctastab;

EMPLOYEE_ID FIRST_NAME   LAST_NAME   SOCIAL_SECURITY    SALARY

----------- ------------ ----------- ----------------- -------

        100 Steven       King        247-85-9056          7000

        101 Neena        Kochhar     334-08-9056          5000

同时,有了该权限后加密也是去了意义

SQL> select * from zhangxg.tab1;

EMPLOYEE_ID FIRST_NAME   LAST_NAME   SOCIAL_SECURITY    SALARY

----------- ------------ ----------- ----------------- -------

        100 Steven       King        247-85-9056          7000

        101 Neena        Kochhar     334-08-9056          5000

3.附录

    1.对于已添加的策略,可通过下面视图进行查询

select * from redaction_policies;

selectobject_owner,object_name,column_name,function_type,function_parameters from redaction_columns;

   2.删除加密策略

BEGIN

  DBMS_REDACT.DROP_POLICY(

    object_schema  => 'ZHANGXG',

    object_name    => 'TAB1',

    policy_name    => 'REDACT_1');

END;

看完上述内容,你们对怎么进行Oracle Data Redaction数据加密有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网数据库频道,感谢大家的支持。

您可能感兴趣的文档:

--结束END--

本文标题: 怎么进行Oracle Data Redaction数据加密

本文链接: https://lsjlt.com/news/65704.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么进行Oracle Data Redaction数据加密
    今天就跟大家聊聊有关怎么进行Oracle Data Redaction数据加密,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 1.Oracle R...
    99+
    2024-04-02
  • Oracle中怎么进行数据加密和解密操作
    在Oracle中进行数据加密和解密操作通常使用DBMS_CRYPTO包。以下是一个简单的示例,演示如何使用DBMS_CRYPTO包进...
    99+
    2024-04-08
    oracle
  • MySQL怎么对数据库进行加密
    MySQL数据库本身并不提供加密功能,但可以通过以下方式对数据库进行加密: 使用加密函数:MySQL提供了一些加密函数,如AES...
    99+
    2024-04-02
  • 使用springboot怎么对数据库密码进行加密
    使用springboot怎么对数据库密码进行加密?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1.导入依赖<dependency> &nb...
    99+
    2023-06-14
  • 前端怎么对接口数据进行加密
    在前端中使用AES对接口数据进行加密的方法前端代码如下:var aesUtil = {//获取key,genKey : function (length = 16) {let random = "ABCDEFGHIJKLMNOPQRSTUV...
    99+
    2024-04-02
  • dbms如何对数据进行加密
    利用dbms对数据进行加密的方法首先,在数据库中新建一个test表;drop table test;create table test(userid varchar2(50) primary key,password varcha...
    99+
    2024-04-02
  • SQLite中如何进行数据加密
    SQLite可以利用SQLCipher插件来进行数据加密。SQLCipher是一个开源的SQLite扩展,它提供了数据库级别的加密功...
    99+
    2024-03-14
    SQLite
  • 被加密后的数据怎么进行模糊查询?
    文章目录 背景实践设计表方法一:加载进内存方法二:在mysql中使用解密函数方法三:分词加密模糊查询设计思路实现一个简单的模糊查询例子个人理解 总结 背景 为了数据安全我们在开发过程中经常会对重要的数据进行加密存储,常...
    99+
    2023-08-16
    mysql 数据库 java
  • SQLServer中如何进行数据加密和解密
    SQL Server中可以通过使用内置的加密函数和算法来进行数据加密和解密。以下是一些常用的方法: 使用内置的加密函数: EN...
    99+
    2024-04-02
  • 身份证数据如何进行加密
    使用JavaScript对身份证数据进行加密,具体方法如下:function formatidcard(idcard) {if(idcard.length == 15){return idcard.replace(/(\d{6})\d{6}...
    99+
    2024-04-02
  • 如何对excel数据进行md5加密
    在excel文件中使用md5加密对数据进行加密的方法首先,需要下载好md5宏插件;md5宏插件下载好后,打开并进入一个excel文件;进入excel文件后,在excel文件中,点击“工具”按钮,并在下拉列表中选择“Excel加载项”选项;在...
    99+
    2024-04-02
  • 如何在Python中进行数据加密和解密
    如何在Python中进行数据加密和解密,需要具体代码示例数据加密和解密是信息安全领域中非常重要的概念。在实际应用中,我们经常需要对敏感的数据进行加密保护,以防止未授权的访问和信息泄露。Python是一种功能强大的编程语言,提供了丰富的库和函...
    99+
    2023-10-22
    Python 数据加密 数据解密
  • 如何使用PHP进行数据加密和解密?
    随着网络技术的快速发展,数据安全已经成为了网络应用开发中最重要的问题之一。数据加密是一种保护敏感信息的方式,可以通过加密算法将数据转化为一串看似无意义的字符,使得未经授权的人无法读取这些信息。PHP是一种广泛使用的服务器端脚本语言,它提供了...
    99+
    2023-05-21
    PHP 数据加密 数据解密
  • Oracle怎么进行数据备份
    这篇文章主要介绍“Oracle怎么进行数据备份”,在日常操作中,相信很多人在Oracle怎么进行数据备份问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Oracle怎么进行数据...
    99+
    2024-04-02
  • 怎么进行加密访问phpmyadmin
    这篇文章给大家分享的是有关怎么进行加密访问phpmyadmin的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。首先建议大家检查一下自己是否设置了一系列的安全账号,进入linux系统...
    99+
    2024-04-02
  • 如何用c语言进行数据加密
    使用c语言对数据进行加密,具体方法如下:#include void main(){int a[5];int num, temp, encripy; int i;do{printf("Please input the number:");sc...
    99+
    2024-04-02
  • 如何进行C++代码的数据加密?
    如何进行C++代码的数据加密随着互联网的高速发展和信息技术的日趋成熟,数据的安全性变得越来越重要。在编程中,保护数据的安全性和防止数据被非法访问或篡改是非常重要的。本文将介绍如何使用C++代码对数据进行加密和解密,以确保数据的安全性。使用密...
    99+
    2023-11-02
    数据加密 C++代码
  • 如何在Oracle中执行数据加密和解密
    在Oracle中执行数据加密和解密可以通过使用Oracle Advanced Security Option来实现。下面是一个简单的...
    99+
    2024-04-09
    Oracle
  • Python怎么对文件进行加密
    本篇内容介绍了“Python怎么对文件进行加密”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Python 中的一个有用的基本加密库就叫做 c...
    99+
    2023-06-17
  • 如何进行Springboot数据安全传输加密与解密
    这篇文章给大家介绍如何进行Springboot数据安全传输加密与解密,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。环境:springboot2.2.6.RELEASE、Vue+axio...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作