网站地图| 免费获取|
毕业论文网
  • 网站首页|
  • 论文范文|
  • 论文降重|
  • 职称论文发表|
  • 合作期刊|
  • 论文下载|
  • 计算机论文|
  • 外文翻译|
  • 免费论文|
  • 论文资料|
  • 论文开题报告
搜索

当前位置:毕业论文网 -> 免费论文 -> 计算机论文 -> 免费房产证信息数字签名的实现(七)
计算机论文资料| ASP设计| Delphi| VB设计| JSP设计| ASP.NET设计| VB.NET| java设计| VC| pb| VS| dreamweaver| c#.net| vf| VC++| 计算机论文范文| 论文下载| 自动化论文

免费房产证信息数字签名的实现(七)

最新活动:微信集50个赞就可获取任意一篇钻石会员文档。详情见微信集赞换文档
免费房产证信息数字签名的实现(七) amp;15]^block->l[i&15],1))

/* (R0+R1), R2, R3, R4 are the different operations used in SHA1 */
#define R0(v,w,x,y,z,i)
z+=((w&(x^y))^y)+blk0(i)+0x5A827999+rol(v,5);w=rol(w,30);/*对常用公式进行宏定义 ,以精简程序*/
#define R1(v,w,x,y,z,i) z+=((w&(x^y))^y)+blk(i)+0x5A827999+rol(v,5);w=rol(w,30);
#define R2(v,w,x,y,z,i) z+=(w^x^y)+blk(i)+0x6ED9EBA1+rol(v,5);w=rol(w,30);
#define R3(v,w,x,y,z,i) z+=(((w|x)&y)|(w&x))+blk(i)+0x8F1BBCDC+rol(v,5);w=rol(w,30);
#define R4(v,w,x,y,z,i) z+=(w^x^y)+blk(i)+0xCA62C1D6+rol(v,5);w=rol(w,30);
 在对文件进行安全哈希后得到了一个消息摘要文件,对文件的签名除了需要消息摘要文件以外还需要用户持有的私钥文件,有了这两个必须的,就可以对原文件进行签名运算了,在生成签名的时候我们将会用到生成签名算法。生成签名算法的具体实现代码如下:
 void GensigDlg::OnGensig()
{
 // TODO: Add your control notification handler code here
 if(m_strPK.IsEmpty()){
  MessageBox("请导入私钥",NULL,MB_ICONERROR|MB_OK);
  return;
 }
 if(m_strF.IsEmpty()){
  MessageBox("请选择要签名的文件",NULL,MB_ICONERROR|MB_OK);
  return;
 }
 //----sha------------//
 int i;
 SHA1_CTX context;
 unsigned char digest[20], buffer[16384];
 FILE* file;
 if(!(file=fopen(LPCTSTR(m_strF),"rb"))){
  MessageBox("无法打开文件!");
  return;
 }
 SHA1Init(&context);
    while (!feof(file)) {  // note: what if ferror(file)
        i = fread(buffer, 1, 16384, file);
        SHA1Update(&context, buffer, i);
    }
    SHA1Final(digest, &context);
 fclose(file);
 //--------------------//
 dig.Mov(0);
 for(int j=0;j<5;j++){
  memcpy(&dig.m_ulValue[j],&digest[j*4],4);
 }
 dig.m_nLength=5;
 CRsa enc;
 sig.Mov(enc.encrypt(dig,n,pk));
 sig.Put(m_strS);
 UpdateData(FALSE);
}
3.3.3 签名验证模块
 此模块主要是用于鉴别用户的数字证书的真伪性的。在这个模块用户只需要把自己的私钥文件和前一个模块地到的签名文件与用户填写的房产证公文文件共同导入这个模块通过计算机的运算对比就可以得出真假的鉴别结果。在此过程中必须要保证用户的私有信息要完全准确无误,还需要这个用户有自己的私钥文件和相应的数字签名文件,在这三个条件都能满足验证系统的要求的情况下得出的真伪鉴别结论可信度是值得肯定的,具体实现如图8所示。
    
 
 图8   签名与验证模块图
 在对证书文件进行签名以后,如果用户需要知道自己的证书是不是真的,他就需要通过管理中心来对自己的证书进行鉴别和验证。
 验证签名过程的实行通过以下一段VC++代码来实现其验证功能
void CersigDlg::OnCers()
{
 // TODO: Add your control notification handler code here
 if(m_strUK.IsEmpty()){
  MessageBox("请导入公钥",NULL,MB_ICONERROR|MB_OK);
  return;
 }
 if(m_strF.IsEmpty()){
  MessageBox("请选择签名文件",NULL,MB_ICONERROR|MB_OK);
  return;
 }
 if(m_strS.IsEmpty()){
  MessageBox("请导入签名",NULL,MB_ICONERROR|MB_OK);
  return;
 }
 //----sha------------//
 int i;
 SHA1_CTX context;
 unsigned char digest[20], buffer[16384];
 FILE* file;
 if(!(file=fopen(LPCTSTR(m_strF),"rb"))){
  MessageBox("无法打开文件!");
  return;
 }
 SHA1Init(&context);
    while (!feof(file)) {  // no

首页 上一页 4 5 6 7 8 9 下一页 尾页 7/9/9

免费房产证信息数字签名的实现(七)由毕业论文网(www.huoyuandh.com)会员上传。
原创论文资料流程 相关论文
上一篇:免费H考试题库管理系统的设计与实.. 下一篇:免费个人入侵检测系统的实现
推荐论文 本专业最新论文
Tags:房产证 信息 数字签名 实现 2010-04-01 13:12:13【返回顶部】
精彩推荐
发表论文

联系方式 | 论文说明 | 网站地图 | 免费获取 | 钻石会员 | 硕士论文资料


毕业论文网提供论文范文,论文代发,原创论文资料

本站部分文章来自网友投稿上传,如发现侵犯了您的版权,请联系指出,本站及时确认并删除  E-mail: 17304545@qq.com

Copyright@ 2009-2020 毕业论文网 版权所有