注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

你想快速掌握安卓编程吗

 
 
 

日志

 
 

B4A中的文件校验(含代码)  

2017-10-02 21:34:30|  分类: B.文件校验 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
每个文件都可以用 MD5 验证程序算出一个固定的 MD5 码来。软件作者往往会事先计算出他的程序的 MD5 码并帖在网上。因此,在网上看到某个程序下载旁注明了 MD5 码时,可以把它记下来,下载了这个程序后用 MD5 验证程序计算你所下载的文件的 MD5 码,和你之前记下 MD5 码比较,就知道你下的是不是原版了,如果两者相同,那么你所下载的是原版。如果计算出来的和网上注明的不匹配,那么你下载的这个文件不完整,或是被别人动过手脚。

不过这种方式依旧有漏洞,第三方截获到文件之后,将修改后的文件同md5码一起放出来,接收方拿到文件后,依旧无法鉴别。正式基于此,MAC(消息校验码)诞生了,MAC是发送方和接收放约定的一个特定的数值串,当发送方发送文件时,将文件内容加上MAC一起进行HASH计算(MAC不随文件一同发送),此时第三方尽管截获到此文件,由于没有MAC,因此无法再计算出正确的HASH值。当接受拿到文件时,将文件同自身拥有的MAC一起进行校验对比HASH值,即可判定文件是否是发送方发过来的原文件。






    Private pi As String
    pi = "laleqwe"
    Dim md As MessageDigest
    Dim ByteCon As ByteConverter
    Dim passwordhash() As Byte
    Dim passwordhash2() As Byte
    passwordhash = md.GetMessageDigest(pi.GetBytes("UTF8"),"MD5")
    Dim md5string As String
    md5string = ByteCon.HexFromBytes(passwordhash)
    md5string = md5string.ToLowerCase
    Log(md5string)
    passwordhash2 = md.GetMessageDigest(md5string.GetBytes("UTF8"),"SHA-1")
    Dim SHA1string As String
    SHA1string = ByteCon.HexFromBytes(passwordhash2)
    SHA1string = SHA1string.ToLowerCase
    Log(SHA1string)
  评论这张
 
阅读(15)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017