精华内容
下载资源
问答
  • 获取sql语句加密
    2018-08-24 09:11:19

    通过一个java工具类获取项目中正在运行的sql语句并将sql语句加密存放在日志中。

    更多相关内容
  • 如何在不编写任何前端代码的情况下字段进行加密和解密。
  • npm安装base64包 npm install -Sjs-base64 import { Base64 } from 'js-base64'; 使用base64:  编码:Base64.encode();...formData['sql_content'] = Base64.encode(sql_content); #python import ba...

    npm安装base64包

    npm install -S js-base64

    import { Base64 } from 'js-base64';

    使用base64:

      编码:Base64.encode();

      译码:Base64.decode();

    #js
    
    import { Base64 } from 'js-base64';
    
    formData['sql_content'] = Base64.encode(sql_content);
    
    
    
    
    
    #python
    
    import base64
    
    def sql_decode(sql: str):
        # 由于前端明文传输SQL语句会被WAF拦截,因此在前端对SQL进行base64加密,此处form收到SQL以后使用handler参数传入该回调函数进行解密
        decode_sql = base64.b64decode(sql).decode()
        return decode_sql
    
    
    
    
    
    
    

    展开全文
  • 利用SQL 数据库的 pwdencrypt pwdcompare 函数加密字串
  • sql语句中给插入语句加密

    千次阅读 2018-07-23 18:04:44
    看代码最好:select substring(sys.fn_sqlvarbasetostr(HashBytes('MD5','...sql语句中自带的。 INSERT INTO SYSUSERTB(usercode,username,rolecode,rolecode1,userpwd,deptcode,userstat,usersex,instcode,falg...

    看代码最好:select substring(sys.fn_sqlvarbasetostr(HashBytes('MD5','111111')),3,32))

    sql语句中自带的。

    INSERT INTO SYSUSERTB(usercode,username,rolecode,rolecode1,userpwd,deptcode,userstat,usersex,instcode,falg)
    VALUES('zt','mstr','manager','master',(select substring(sys.fn_sqlvarbasetostr(HashBytes('MD5','111111')),3,32)),'00',1,1,'000000','0')


     

    展开全文
  • 采用c#, 在sql server 中调用des 加密, 解密字符串. 可自定义key
  • c#加密sql语句解秘

    千次阅读 2016-12-13 22:31:43
    c#加密sql解秘,采用数字证书.实现加密传输

    无论c#加密还是sql语句加密,sql和c#都可以解秘,实现方法是采用数字证书方法.实现加密传输
    感谢本文章作者
    http://www.itstrike.cn/Question/acdd965a-c6d9-43ce-ad0d-af1484455671.html
    感谢一个英文翻译后让中国人和外国人都看不懂的百度翻译.
    我将该文章的方法及遇到的问题,做一个详细说明,本人技术有限,有错误的地方欢迎指正,废话不多说,进入正题.
    因业务需要,c#对字符串加密后存入数据库,sql语句(sql2008数据库)需要解密.我选择使用数字证书加密,数字证书采用RSA加密算法进行加密,有公钥和私钥,公钥加密,私钥解密

    一:创建自己的数字证书

    (也可以购买被认可的数字证书)
    需要使用的软件makecert.exe和pvk2pfx.exe(百度一搜一大片)
    这里写图片描述
    打开windows命令处理程序(dos命令)
    C:\Users>j:
    进入存放软件的目录下
    然后运行一下命令”makecert -sv PrivateKey.pvk -n “cn=TestCertificate” TestCertificate.cer -b 01/01/2013 -e 01/01/2024 -sky Exchange”创建一个证书,生成的证书位置和你软件的位置一样
    J:>makecert -sv PrivateKey.pvk -n “cn=TestCertificate” TestCertificate.cer -b 01/01/2013 -e 01/01/2024 -sky Exchange
    注意:如果提示makecert不是内部或外部命令,也不是可运行的程序或批处理文件,遇到这种问题请用”管理员身份”打开dos,如果还是报错请查看该目录下软件名是否正确

    这里写图片描述
    选择”无”
    这里写图片描述
    出现succeeded代表创建成功

    以上创建两个文件PrivateKey.pvk(这个是私钥文件)和TestCertificate.cer(数字证书文件),这两个文件需要数据库使用
    dos命令输入”pvk2pfx -pvk PrivateKey.pvk -spc TestCertificate.cer -po TestEncryption123”
    这个命令是创建pfx文件,这个文件是c#程序使用的,加密解密都需要这个文件
    这里写图片描述
    这里写图片描述
    点击”下一步”
    这里写图片描述
    选择”是,导出私钥”,点击”下一步”
    这里写图片描述
    选择
    • 如果可能,将所有证书都包括证书路径中
    • 导出所有的 extendend 属性
    点击”下一步”
    这里写图片描述
    设置密码,这个密码在代码打开数字证书时使用,下一步
    这里写图片描述
    下一步
    这里写图片描述
    完成
    这里写图片描述
    现在创建成功这里写图片描述
    下面打开数据库
    USE master
    GO
    –创建数据库
    CREATE DATABASE TestEncryptionDecryption
    GO

    USE TestEncryptionDecryption
    –创建表
    CREATE TABLE Encrypt
    (
    intCol int,
    clearTextCol varchar(128)
    )
    GO
    –向表里插入数据
    INSERT INTO Encrypt (intCol, clearTextCol)
    VALUES
    (‘1’, ‘Links’),
    (‘2’, ‘Zwo’),
    (‘3’, ‘Drei’),
    (‘4’, ‘Vier’),
    (‘5’, ‘Fünf’),
    (‘6’, ‘5ech5’)
    GO
    –导入证书,这个证书就是上面创建的TestCertificate.cer和PrivateKey.pvk文件
    CREATE CERTIFICATE TestCertificate
    FROM FILE = ‘C:\temp\createCert\TestCertificate.cer’
    WITH PRIVATE KEY (
    FILE = ‘C:\temp\createCert\PrivateKey.pvk’,
    –ENCRYPTION BY PASSWORD = ‘TestEncryption123’
    –以上语句是设置私钥密码,如果通过数据库解密就需要提供该密码
    ,加密不需要,现在不需要设置
    )
    GO

    –查看证书是否添加成功
    SELECT * FROM sys.certificates
    –将clearTextCol列内的数值通过数据库加密后放入encryptedCol里
    UPDATE Encrypt
    SET
    encryptedCol = ENCRYPTBYCERT
    (
    CERT_ID(‘TestCertificate’),
    clearTextCol
    )
    GO

    –通过sql语句解密刚才加密的列
    –DECLARE @Passwd nvarchar(128) = ‘TestEncryption123’
    –因为前面没有设置密码,所以现在也不用提供密码
    SELECT intCol,
    clearTextCol,
    encryptedCol,
    CAST
    (
    DECRYPTBYCERT
    (
    CERT_ID(‘TestCertificate’),
    encryptedCol,
    – @Passwd
    ) AS varchar(128)
    ) AS decryptedCol
    FROM dbo.Encrypt

    GO
    这里写图片描述
    如果出现这种界面代表数据库加解密成功,相同的字符串,每次加密后的值(encryptedCol列)不会相同
    注意:导入证书报” 证书、非对称密钥或私钥文件不存在或格式无效。”错误,
    出错原因
    一: 请查看路径名是否正确,文件名是否正确
    二: 这里写图片描述
    (mycertificate.cer是数据库创建的数字证书, TestCertificate.cer是我创建的证书)
    比较两个证书的”组或用户名”发现缺少OWNER和SQL..这两个用户名
    请将TestCertificate.cer的文件添加这两个用户. 权限设置”完全控制”
    Pvk一样也需要添加这两个用户,并且权限设置”完全控制”

    C#源代码
    解密方法:
    // pfxFilePath—传入pfx存放在电脑的位置
    // password—-传入用dos创建pfx时设置的密码
    // EncryptedDocID—传入从数据库取出的加密过的数据
    public string jiemi(string pfxFilePath, string password, byte[] EncryptedDocID)
    {

            System.Security.SecureString securePassword = new System.Security.SecureString();
    
            foreach (char keyChar in password.ToCharArray())
                securePassword.AppendChar(keyChar);
    

    //反转一维 Array 或部分 Array 中元素的顺序,
    //获取的数据库的字段必须反转元素,c#才能通过证书解密,不反转,提示传入的值无效
    //c#加密的后的元素也必须反转,才能被sql语句解密,否则解密失败
    Array.Reverse(EncryptedDocID);

            string DecryptedDocID = "";
    
            //load certificate from filesystem and open it with provided password
    

    //实例化证书
    X509Certificate2 cert = new X509Certificate2(pfxFilePath, password);
    //判断证书是否打开成功
    if (cert == null)
    {
    throw new Exception(“Certificate ” + pfxFilePath + ” Does not exist”);
    }
    //获取私钥,证书是非对称RSA算法加密的,私钥解密,公钥加密,这里获取私钥进//行解密,
    if (cert.HasPrivateKey)
    {
    RSACryptoServiceProvider RsaCSP = (RSACryptoServiceProvider)cert.PrivateKey;

    //通过Decrypt解密,
    //Decrypt第二个参数含义,如果为 true,则使用 OAEP 填充(仅可用于运行 Microsoft //Windows XP 及更高版本的计//算机)执行直接 RSA 解密;否则,如果为 false则使用 PKCS#1 v1.5 填充。
    byte[] ret = RsaCSP.Decrypt(EncryptedDocID, false);
    if (ret == null)
    {
    throw new Exception(“Decryption with RSA failed”);
    }
    //进行转码,需要用什么编码格式请查看下面加密方法相同的字段注释
    DecryptedDocID = Encoding.GetEncoding(“GBK”).GetString(ret);
    }
    else
    {
    throw new Exception(“Certificate ” + pfxFilePath + ” has no Private Key; “);
    }
    return DecryptedDocID;
    }

    加密方法
    // pfxFilePath—传入pfx存放在电脑的位置
    // password—-传入用dos创建pfx时设置的密码
    // StringMessage—需要加密的字符串

    public byte[] jiami(string pfxFilePath, string password, string StringMessage)
    {
    X509Certificate2 cert = new X509Certificate2(pfxFilePath, password);
    if (cert == null)
    {
    throw new Exception(“Certificate ” + pfxFilePath + ” Does not exist”);
    }
    RSACryptoServiceProvider provider = new RSACryptoServiceProvider();
    byte[] BytesMessage = Encoding.GetEncoding(“GBK”).GetBytes(StringMessage);
    //转码
    //获取公钥,公钥加密,私钥解密, 数据库就是通过私钥解密,所以这里需要获取公钥进行加密,
    string keyPublic = cert.PublicKey.Key.ToXmlString(false);
    provider.FromXmlString(keyPublic);
    //加密方法
    byte[] by = provider.Encrypt(BytesMessage, false);
    //反转一维 Array 或部分 Array 中元素的顺序,这个无论加密解密必须得有否则失败
    Array.Reverse(by);
    return by;
    }
    注:如何判断Encoding.GetEncoding(“”)方法使用什么字符
    这里写图片描述
    数据库执行” SELECT COLLATIONPROPERTY(‘Chinese_PRC_Stroke_CI_AI_KS_WS’, ‘CodePage’)” 对应返回的数值就可得出数据库默认的编码方式,我的电脑返回936所以是GBK编码,所以ncoding.GetEncoding()设置GBK
    下面是查询结果:
    936 简体中文GBK
    950 繁体中文BIG5
    437 美国/加拿大英语
    932 日文
    949 韩文
    866 俄文
    65001 unicode UFT-8

    展开全文
  • 使用sql语句加解密

    2022-01-11 18:39:45
    -- 字符130488884999进行加密,密钥是abc123 SELECT HEX(AES_ENCRYPT('130488884999','abc123')); -- 解密,密钥是abc123,加密内容为E6E6DDE35383B9EF337F31E624C100F7 SELECT AES_DECRYPT(UNHEX('E6E6DDE35383...
  • 您可能感兴趣的文章:MySQL加密和解密实例详解Java、JavaScript、Oracle、MySQL中实现的MD5加密算法分享PHP MySQL应用中使用XOR运算加密算法分享MySQL 加密/压缩函数mysql双向加密解密方式用法详解MySQL 整表加密...
  • DSP模型及执行基于加密数据的SQL语句.pdf
  • 使用Sql语句生成MD5加密字符串

    千次阅读 2020-03-03 10:40:24
    select substring(sys.fn_sqlvarbasetostr...-- SQL语句获得md5 值 HashByter('md5','123456') 拿到base类型的md5值 --sys.fn_sqlvarbasetostr 将base类型的md5值 转成字符串 -- substring 截取字符串 去掉1,2位置...
  • SQL字段加密

    2013-07-10 12:45:26
    SQL字段加密
  • NULL 博文链接:https://nannan408.iteye.com/blog/1995714
  • 使用SQL语句对数据进行MD5加密

    千次阅读 2016-11-14 15:32:00
    如果数据库表User中有一列为passwd,存放的是md5加密的数据,如何更新新的数据。 update user set passwd=md5("123321") where uName="lihua"; 插入新的数据: insert into user(uName,passwd) values("xiaoqiang...
  • sql语句对数据库表进行加锁和解锁

    千次阅读 2021-01-28 02:44:05
    数据库是由一个或者多个表或者索引组成,即是由多个 SQL语句: LOCK TABLES tablename WRITE; LOCK TABLES tablename READ; INSERT INTO assignment VALUES (1,7513,'0000-00-00',5),(1,7513,'2003-01-20',8.5); ...
  • 本文属于SQL Server安全专题系列 加密是一种使用密钥和证书的算法来混淆数据的过程。如果没有密钥和证书,即使得到了数据,也无法得知数据的本来面貌,数据就没有价值了。但是由于加解密本身就是一种非常耗资源...
  • sql server 加密 This article gives an overview of column level SQL Server encryption using examples. 本文使用示例概述列级SQL Server加密。 介绍 (Introduction) Data security is a critical task ...
  • sql设置外键(设置外键的sql语句)

    千次阅读 2021-02-01 02:46:07
    sql设置外键(设置外键的sql语句)2020-07-24 11:44:03共8个回答sql怎么设置外键创建数据库时就是有主键的创建了主键,但是表之间的关系没有联系,要建数据库关系图只有主键没有外键时不行的。建外键的前提是此外键...
  • 查询视图的sql语句(mysql创建视图sql语句)2020-07-24 12:07:14共10个回答两种方式,一种是直接在sqlserver的列表中找到,另一种用写语句的方式查询.方法一:1、登陆sqlservermanagerstudio.2、在左边的树找到自己要查询...
  • 本文属于SQL Server安全专题系列 在SQL SERVER中的数据可以使用密码或者证书来加密。本文分别来演示一下使用...这个函数可以使用密码或者短语直接数据加密而不需要经过SQL Server的加密层次体系。下面使用Adventu...
  • SQL server 数据加密

    千次阅读 2019-08-18 09:53:31
    简介 加密是指通过使用密钥或...在SQL Server中,加密并不能替代其他的安全设置,可以当数据库破解或是备份被盗取后的最后一道防线,通过加密,未经授权的人在没有密匙或密码的情况下所窃取的数据变成毫无意义。 ...
  • 相应的sql语句如下: SETPASSWORDFOR用户='新密码'; 其中用户=‘host’@‘user’; host和user可以通过以下sql语句查询到: USE mysql; SELECT * FROM USER; 示例:查询到的host和user如下 则我最终的修改...
  • 经典SQL语句大全

    热门讨论 2014-12-20 12:00:30
    10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1...
  • SQL语句大全1.doc

    2019-12-31 10:00:26
    sql语句基本操作,技巧,提升,同步复制技术,经典操作(加密,分区,存储过程,触发器,基本函数等)。发布服务器配置。
  • SQL语句大全及其详解

    千次阅读 2019-03-06 16:52:44
    一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevic...
  • 1、sql语句对数据库中的密码字段进行加密的方法: 首先查看密码字段的约束长度符不符合md5摘要的长度,如果不符合请先用下面命令修改约束长度: alter table tb_user modify password varchar(32); 密码内容进行...
  • 一条sql语句在mysql中的执行过程

    千次阅读 2022-03-11 10:03:26
    本文详细的介绍了一条sql语句在mysql中执行的全过程,其中详细的介绍了Server层的各个组件的作用以及承担的角色等。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 78,089
精华内容 31,235
关键字:

对sql语句加密