加密棒V1.01版制作总结(二)

      终于有链接地址了:http://d.namipan.com/downfile/%E5%8A%A0%E5%AF%86%E6%A3%92.exe/d8db8d12094164f045a556964d00dfefa9c647fae87f0700

 

      制作加密软件,首先是核心的加密算法,著名与应用最广的可能是des加密算法,不过作者并未采用该算法作为核心,而是采用字符替换的动态密钥数组,这样维护起来将更加容易,而且因为与密钥文件绑定,破译难度一样不小,应对一般应用来讲绰绰有余,当然了,如果别人下了心要获取你的秘密,恐怕任何人做出的算法都无法抵挡利益的诱惑。

      加密棒V1.01的密钥数组从一个2维的ASCII码表中随机抽出256个字符码组成加密矩阵,然后读取整个文件,全覆盖替换其中内容,所以该加密方式对于大文件而言,加密或许稍微慢了点,作者测试过,一个5M的文件,在一台一般配置的机器上,需要4点几秒才能加密完成,这将是下一版本需要优化的地方。

      算法就这样了。

      加密核心的组成除却加密算法,剩下就是文件的处理这块,平常处理文件用的滚瓜烂熟的几个库函数现在貌似不够用了,但是做完后其实也就几个函数(人懒,技术也跟不上,就不敢妄自重写库函数了。。。),罗列如下:

 

      常用C库函数

      fopen   fwrite   fread  feof  fclose     #include <stdio.h>

     

      文件查找 

      _findfirst  _findnext  _findclose                 #include <io.h> 

 

      文件操作

      _dup _dup2  _fileno  rename  remove  mkdir      #include <io.h>  #include <direct.h>

   

      文件属性

      stat                      #include <sys/stat.h>

 

      以上就是加密棒在核心部分用到的文件处理所有函数,可见,玩转文件需要掌握的东西其实也不多,原谅作者没细细将每个函数的用法写出来了,有兴趣的朋友可搜索一下,网上资源那是相当的多啊。

 

      加密棒核心部分使用了多线程的处理方式(其实就2个。。。扩展,一定要扩展),一谈到多线程,同步就是离不开的话题了,同步锁用起来有多烦人,相信大家深有体会,现在就将鄙人模仿ACE自己封的同步锁贡献出来大家试用(写的不好别拍砖哈,拍点黄金啥的可以接受),比起直接用API确实方便很多,尤其是哪个守卫,真的是个好东西。

    

      WJH_Mutex.h

        

 

       main.cpp

           

    

 

    好了,今天的分享就是这样了,非常感谢大家审阅,再会~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值