在SQL SERVER中实现RSA加密算法
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-03-18
/*本次修改增加了unicode的支持,但是加密后依然显示为16进制数据,因为进行RSA加密后所得到的unicode编码是无法显示的,所以密文依然采用16进制数据显示。 需要特别注意:如果要对中文进行加密,那么所选取的两个素数要比较大,两个素数的成绩最好要大于65536,即大于unicode的最大编码值 */ 在SQL SERVER中实现RSA加密算法(第二版) --判断是否为素数 if object_id(''f_PRimeNumTest'') is not null drop function f_primeNumTest go create function [dbo].[f_primeNumTest] (@p int) returns bit begin declare @flg bit,@i int select @flg=1, @i=2 while @i<sqrt(@p) begin if(@p%@i=0 ) begin set @flg=0 break end set @i=@i+1 end return @flg end go --判断两个数是否互素 if object_id(''f_isNumsPrime'') is not null drop function f_isNumsPrime go create function f_isNumsPrime (@num1 int,@num2 int) returns bit begin declare @tmp int,@flg bit set @flg=1 while (@num2%@num1<>0) begin select @tmp=@num1,@num1=@num2%@num1,@num2=@tmp end if @num1=1 set @flg=0 return @flg end go --产生密钥对 if object_id(''p_createKey'') is not null drop proc p_createKey go create proc p_createKey @p int,@q int as begin declare @n bigint,@t bigint,@flag int,@d int if dbo.f_primeNumTest(@p)=0 begin print cast(@p as varchar)+''不是素数,请重新选择数据'' return end if dbo.f_primeNumTest(@q)=0 begin print cast(@q as varchar)+''不是素数,请重新选择数据'' return end print ''请从下列数据 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于在SQL SERVER中实现RSA加密算法的所有评论