当前位置:首页 » 密码管理 » sql加密解密函数

sql加密解密函数

发布时间: 2023-05-02 14:32:43

A. sql server里面的内容加密了,用什么方法可以解密

应该是程序写入数据库前加密的,要解密的话,先要查一下是用什么方式加密的,有没有解决程序。
如md5是没有解密程序的。

B. 请问SQL怎么对数据进行加密

--以下代码包括创建密钥,加密,解密和删除密钥
/*
1.利用对称密钥
搭配EncryptByKey进行数据加密
使用DecryptByKey函数进行解密
这种方式比较适合大数据量
*/
='XIAOMA'
='ZXCCERTIFICATE',EXPIRY_DATE='2015/01/01'
CREATESYMMETRICKEYSYM_TOMWITHALGORITHM=
OPENSYMMETRICKEYSYM_
SELECTCONVERT(NVARCHAR(10),Decryptbykey((Encryptbykey(Key_guid('SYM_TOM'),N'TOM3'))))
CLOSESYMMETRICKEYSYM_TOM
DROPSYMMETRICKEYSYM_TOM
DROPCERTIFICATETOMCERT;
DROPMASTERKEY;
--或--
=AES_256ENCRYPTIONBYPASSWORD='ZXC123456'
='ZXC123456'
SELECTCONVERT(VARCHAR(10),Decryptbykey(Encryptbykey(Key_guid('ZXC'),'YHDH_C')))
CLOSESYMMETRICKEYZXC;
DROPSYMMETRICKEYZXC;
/*
2.利用非对称密钥
搭配EncryptByAsymKey进行数据加密
使用DecryptByAsymKey函数进行解密
用于更高安全级别的加解密数据
*/
='XIAOMA'
=RSA_2048ENCRYPTIONBYPASSWORD='ZXC123456'
(DECRYPTIONBYPASSWORD='ZXC123456')
SELECTCONVERT(VARCHAR(100),Decryptbyasymkey(Asymkey_id('ABC'),Encryptbyasymkey(Asymkey_id('ABC'),'ZXC123456')))
DROPASYMMETRICKEYABC;
DROPMASTERKEY
/*
3.利用凭证的方式
搭配EncryptByCert进行加密
DecryptByCert函数进行解密
比较类似非对称密钥
*/
='XIAOMA'
='ZXCCERTIFICATE',EXPIRY_DATE='2015/01/01'
SELECTCONVERT(VARCHAR(20),Decryptbycert(Cert_id('ZXC'),Encryptbycert(Cert_id('ZXC'),'123456')))
DROPCERTIFICATEZXC;
DROPMASTERKEY
--或--
='Mary5',
SECRET='123456';
ALTERLOGINUser1
ADDCREDENTIALAlterEgo
DropCREDENTIALAlterEgo
DROPCREDENTIALAlterEgo
/*
4.利用密码短语方式
搭配EncryptBypassPhrase进行加密
使用DecryptByPassPhrase函数来解密
比较适合一般的数据加解密
*/
SELECTCONVERT(VARCHAR(100),Decryptbypassphrase('xiaoma',Encryptbypassphrase('xiaoma','123456')))

C. 如何利用MySQL数据库自带加密函数进行加密

首先,先介绍下加密函数,PASSWORD(string)函数可以对字符串string进行加密,代码如下:
SELECT
PASSWORD('you');
如下图所示:
执行第一步的SQL语句,查询结果是一串字符串,并且PASSWORD(string)函数加密是不可逆转,
如下图所示:
另外一个加密函数MD5(string),主要针对普通的数据进行加密,代码如下:
SELECT
MD5('hai');
如下图所示:
最后一个加密函数ENCODE(string,pass),可以使用字符串pass来加密字符串string。首先要创建一个数据库表t_pass_info,代码如下:
CREATE
TABLE
t_pass_info(
id
int(10),
pass_info
blob
);
如下图所示:
然后,向这个数据库表插入一条数据,代码如下:
INSERT
INTO
t_pass_info(id,pass_info)
VALUES
(1,ENCODE('dong','bb'));
如下图所示:
6
查看插入数据库表t_pass_info记录,代码如下:
SELECT
*
FROM
t_pass_info;
如下图所示:
7
MySQL自带还有一个解密函数DECODE(str,pass_str),可以使用字符串pass_str来为str解密,代码如下:
SELECT
DECODE(ENCODE('dong','aa'),'aa');
如下图所示:

D. sql数据库怎么加密

SQL Server中的加密简介
在SQL Server2000和以前的版本,是不支持加密的。所有的加密操作都需要在程序中完成。这导致一个问题,数据库中加密的数据仅仅是对某一特定程序有意义,而另外的程序如果没有对应的解密算法,则数据变得毫无意义。

到了SQL Server2005,引入了列级加密。使得加密可以对特定列执行,这个过程涉及4对加密和解密的内置函数

SQL Server 2008时代,则引入的了透明数据加密(TDE),所谓的透明数据加密,就是加密在数据库中进行,但从程序的角度来看就好像没有加密一样,和列级加密不同的是,TDE加密的级别是整个数据库。使用TDE加密的数据库文件或备份在另一个没有证书的实例上是不能附加或恢复的。

E. sql自定义函数被加密应该怎么解密

请参阅

SQL2008 怎么样解密 加密的函数 或者存储过程


网页链接

F. 在线求MD5 SQL密码解密大神们帮帮忙

MD5加密规则是不可逆的。 加密过程用算法描述如下: (1)对明文password进行md5加密,获得密文md5(password)。 (2)使用截取函数截取加密后的密文,从第beginnumber位置开始截取number位数值,得到密码A,其中A=left(md5(雹侍password),beginnumber-1)。 (3)使用截取函数截取加密后的明文的number位数后的值B,其中 B=right(md5(password),md5-digit -(beginnumber+number-1))。 (4)使用随机函数gen_key(number)填充被截取的number的模汪值。 (5)变换后的密码值为encrypt_password =A&get_key(number)&B 变量说明: password:客户端提交的原始密码 encrypt_password:经过处理后的密码 beginnumber:对原始密码旦肆仔开始截取的位置(0number:对密码截取位数(0md5-digit:md5取16位或者32位值 解密过程跟加密过程有些类似,先对输入的明文进行加密,接着从beginnumber处截取前半部分得到A′,后半部分得到B′,然后从数据库中读出密码中的A和B部分,最后如果A=A′并且B=B′,则认为用户输入的密码跟数据库中的密码是匹配的。

G. sql server中怎么给数据库表中的用户密码加密

1、首先我们电脑上要安装有SQL Server,然后要准备一个MDF数据库文件。打开SQL Server。

H. 道与魔:SqlServer存储过程/函数加/解密

存储过程 存储函数的加密 WITH ENCRYPTION<! [if !supportLineBreakNewLine] ><! [endif] >CREATE procere dbo sp_XML_main@table_name nvarchar( )= @dirname nvarchar( )= WITH ENCRYPTIONasbegin endgo存储过程 存储函数的解密(以下是一位绝世高人编写的代码)if exists (select * from dbo sysobjects where id = object_id(N [dbo] [sp_decrypt] ) and OBJECTPROPERTY(id N IsProcere ) = )drop procere [dbo] [sp_decrypt]GO/* 破解函谈氏消数 过程 触发器 视图 仅限于SQLSERVER 作者:J All rights reserved*//* 调用示例 解密指定存储过程exec sp_decrypt AppSP_test 对所有的存储过程解密declare tb cursor forselect name from sysobjects where xtype= P and status> and name<> sp_decrypt declare @name sysnameopen tbfetch next from tb into @namewhile @@fetch_status= beginprint /* 存储过程 [ +@name+ ] */ exec sp_decrypt @namefetch next from tb into @nameendclose tbdeallocate tb */if exists (select * from dbo sysobjects where id = object_id(N [dbo] [SP_DECRYPT] ) and OBJECTPROPERTY(id N IsProcere ) = )drop procere [dbo] [SP_DECRYPT]GOCREATE PROCEDURE sp_decrypt(@objectName varchar( ))ASbeginset nocount on 破解字节不受限制 适用于SQLSERVER 存储过程 函数 视图 触发器 修正上一版视图触发器不能正确解密错误 发现有错 请E_MAIL begin trandeclare @objectname varchar( ) @varbin varbinary( )declare @sql nvarchar( ) @sql varchar( ) @sql nvarchar( ) @sql nvarchar( )DECLARE @OrigSpText nvarchar( ) @OrigSpText nvarchar( ) @OrigSpText nvarchar( ) @resultsp nvarchar( )declare @i int @status int @type varchar( ) @parentid intdeclare @colid int @n int @q int @j int @k int @encrypted int @number int核锋select @type=xtype @parentid=parent_obj from sysobjects where id=object_id(@ObjectName)含知create table #temp(number int colid int ctext varbinary( ) encrypted int status int)insert #temp SELECT number colid ctext encrypted status FROM sy *** ents WHERE id = object_id(@objectName)select @number=max(number) from #tempset @k= while @k<=@numberbeginif exists(select from sy *** ents where id=object_id(@objectname) and number=@k)beginif @type= P set @sql =(case when @number> then ALTER PROCEDURE + @objectName + ; +rtrim(@k)+ WITH ENCRYPTION AS else ALTER PROCEDURE + @objectName+ WITH ENCRYPTION AS end)if @type= TR begindeclare @parent_obj varchar( ) @tr_parent_xtype varchar( )select @parent_obj=parent_obj from sysobjects where id=object_id(@objectName)select @tr_parent_xtype=xtype from sysobjects where id=@parent_objif @tr_parent_xtype= V beginset @sql = ALTER TRIGGER +@objectname+ ON +OBJECT_NAME(@parentid)+ WITH ENCRYPTION INSTERD OF INSERT AS PRINT endelsebeginset @sql = ALTER TRIGGER +@objectname+ ON +OBJECT_NAME(@parentid)+ WITH ENCRYPTION FOR INSERT AS PRINT endendif @type= FN or @type= TF or @type= IF set @sql =(case @type when TF then ALTER FUNCTION + @objectName+ (@a char( )) returns @b table(a varchar( )) with encryption as begin insert @b select @a return end when FN then ALTER FUNCTION + @objectName+ (@a char( )) returns char( ) with encryption as begin return @a end when IF then ALTER FUNCTION + @objectName+ (@a char( )) returns table with encryption as return select @a as a end)if @type= V set @sql = ALTER VIEW +@objectname+ WITH ENCRYPTION AS SELECT as f set @q=len(@sql )set @sql =@sql +REPLICATE( @q)select @sql =REPLICATE( )set @sql = exec(@sql select @colid=max(colid) from #temp where number=@kset @n= while @n<=CEILING( *(@colid )/ ) and len(@sQL )<= beginset @sql =@sql + +@ set @n=@n+ endset @sql =@sql + ) exec sp_executesql @sql N @sql nvarchar( ) @ varchar( ) @sql =@sql @=@sql endset @k=@k+ endset @k= while @k<=@numberbeginif exists(select from sy *** ents where id=object_id(@objectname) and number=@k)beginselect @colid=max(colid) from #temp where number=@kset @n= while @n<=@colidbeginselect @OrigSpText =ctext @encrypted=encrypted @status=status FROM #temp WHERE colid=@n and number=@kSET @OrigSpText =(SELECT ctext FROM sy *** ents WHERE id=object_id(@objectName) and colid=@n and number=@k)if @n= beginif @type= P SET @OrigSpText =(case when @number> then CREATE PROCEDURE + @objectName + ; +rtrim(@k)+ WITH ENCRYPTION AS else CREATE PROCEDURE + @objectName + WITH ENCRYPTION AS end)if @type= FN or @type= TF or @type= IF SET @OrigSpText =(case @type when TF then CREATE FUNCTION + @objectName+ (@a char( )) returns @b table(a varchar( )) with encryption as begin insert @b select @a return end when FN then CREATE FUNCTION + @objectName+ (@a char( )) returns char( ) with encryption as begin return @a end when IF then CREATE FUNCTION + @objectName+ (@a char( )) returns table with encryption as return select @a as a end)if @type= TR beginif @tr_parent_xtype= V beginset @OrigSpText = CREATE TRIGGER +@objectname+ ON +OBJECT_NAME(@parentid)+ WITH ENCRYPTION INSTEAD OF INSERT AS PRINT endelsebeginset @OrigSpText = CREATE TRIGGER +@objectname+ ON +OBJECT_NAME(@parentid)+ WITH ENCRYPTION FOR INSERT AS PRINT endendif @type= V set @OrigSpText = CREATE VIEW +@objectname+ WITH ENCRYPTION AS SELECT as f set @q= len(@OrigSpText )set @OrigSpText =@OrigSpText +REPLICATE( @q)endelsebeginSET @OrigSpText =REPLICATE( )endSET @i= SET @resultsp = replicate(N A (datalength(@OrigSpText ) / ))WHILE @i<=datalength(@OrigSpText )/ BEGINSET @resultsp = stuff(@resultsp @i NCHAR(UNICODE(substring(@OrigSpText @i )) ^ lishixin/Article/program/SQLServer/201311/21965

I. SQL DES数据加密 解密问题!急急急,求各位大虾帮帮忙!

下面是我在SQL 2008 R2中调试成功的语句,已对关键语句做了备注,其它的看不懂的,网络一下吧。

--建立对称密钥
--=DESENCRYPTIONBYPASSWORD='123456'

OPENSYMMETRICKEYkey1
DECRYPTIONBYPASSWORD='123456'--必须与原设定口令一样
DECLARE@strNVARCHAR(100),@EncryptedVARBINARY(MAX),@DEEncryptedvarchar(8000)

SET@str=N'AABBCC'--要加密的字符串
SELECT@Encrypted=ENCRYPTBYKEY(KEY_GUID('key1'),@str)
SELECT@DEEncrypted=CAST(DECRYPTBYKEY(@Encrypted)ASNVARCHAR(100))
SELECT'加密'=@Encrypted,'解密'=@DEEncrypted--显示加密与解密结果
UPDATE[_TABLE1]SETmingwen=@Encrypted,mingeen=@DEEncrypted
CLOSESYMMETRICKEYkey1

--删除对称密钥
--DROPSYMMETRICKEYkey1

J. SQL 2005 ENCRYPTBYKEY加密、DECRYPTBYKEY解密

就是 varbinary 型啊,用varbinary字段保存数据就行了

然后,DECRYPTBYKEY()的输入参数,也是varbinary型的

================
非要用varchar,用如下两个函数

fn_varbintohexsubstring
fn_varbintohexstr

但是varbinary的一个字节在varchar里面占两个字节,不是很浪费么

热点内容
中国十大解压电影 发布:2025-04-23 06:13:07 浏览:582
产品直播脚本范文例子 发布:2025-04-23 06:10:24 浏览:312
安卓id加密 发布:2025-04-23 06:10:23 浏览:388
python行内if 发布:2025-04-23 06:10:20 浏览:219
ubuntu编译32位程序 发布:2025-04-23 06:10:20 浏览:959
什么在资源配置中起宏观调控作用 发布:2025-04-23 06:05:25 浏览:723
换手机怎么把安卓app移到苹果手机 发布:2025-04-23 06:05:20 浏览:899
java的时间格式 发布:2025-04-23 06:04:39 浏览:975
美团安卓哪里再次配送 发布:2025-04-23 05:56:07 浏览:978
油画价格算法 发布:2025-04-23 05:54:37 浏览:532