易截截图软件、单文件、免安装、纯绿色、仅160KB

在SQL SERVER中实现RSA加密算法

/***************************************************  
          作者:herowang(让你望见影子的墙)
    日期:2010.1.1
          注:    转载请保留此信息
    更多内容,请访问我的博客:blog.csdn.net/herowang
****************************************************/
在SQL SERVER中实现RSA加密算法
一、RSA算法原理
RSA算法非常简单,概述如下:
找两素数p和q
取n=p*q
取t=(p-1)*(q-1)
取任何一个数e,要求满足e<t并且e与t互素(就是最大公因数为1)
取d*e%t==1
这样最终得到三个数: n   d   e
设消息为数M (M <n)
设c=(M**d)%n就得到了加密后的消息c
设m=(c**e)%n则 m == M,从而完成对c的解密。
注:**表示次方,上面两式中的d和e可以互换。
在对称加密中:
n d两个数构成公钥,可以告诉别人;
n e两个数构成私钥,e自己保留,不让任何人知道。
给别人发送的信息使用e加密,只要别人能用d解开就证明信息是由你发送的,构成了签名机制。
别人给你发送信息时使用d加密,这样只有拥有e的你能够对其解密。
rsa的安全性在于对于一个大数n,没有有效的方法能够将其分解从而在已知n d的情况下无法获得e;同样在已知n e的情况下无法求得d。
以上内容出自原文出处http://www.xfocus.net/articles/200503/778.html
二、使用T-SQL实现RSA算法
    --判断是否为素数
if object_id('f_pnumtest') is not null
  drop function f_isPrimeNum
go
create function [dbo].[f_isPrimeNum]
(@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
 
--判断两个数是否互素,首先要选取两个互素的数
 
if object_id('f_


相关文档:

sql 2005 存储过程分页 java 代码

 create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',         
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列 ......

SQL Server与Excel数据互导

SQL Server与Excel数据互导
从SQL Server中导入/导出 Excel 的基本方法
/*=================== 导入/导出 Excel 的基本方法 ===================*/
从Excel文件中,导入数据到SQL数据库中,很简单,直接用下面的语句:
/*========================================================*/
--如果接受数据导入的表已经存在
ins ......

SQL Server 2005与2000之间的数据转换

 2005不论是性能还是安全性都是SQL SERVER2000有所增强,现有不少企业在使用2005,或是有的用户是2000与2005同时使用,那么这中间就涉及到双数据的转换问题:
  今天我们就来看一下相关的实现方法:
  本人的实现环境介绍:
  方法一: 使用分离与附加  该方法适合于将SQL Server 2000中的数据转换到SQL Server2 ......

Sql Server 自動還原解決方案

根據前一篇關於自動備份的文章,對應的自動還原方案
create procedure [dbo].[sp_RestoreDatabase]
@SourceDirBackupFiles NVARCHAR(200)
as
declare @DatabaseName sysname
--Table to hold the result from RESTORE HEADERONLY. Needed to get the database name o ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号