没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
6页
软件作为计算机的重要组成部分,随着计算机的普及,已渗入生活的各个角落。由于计算机软件易于复制,导致了盗版软件的泛滥,所以软件开发者有必要加强自我保护意识,对自己编写的软件进行加密保护,防止或尽量减少被盗版的可能性。下面我们就针对这个问题提出了一种简便易行的对正版软件进行加密的方法,保护软件开发者的合法利益。 13份WPF经典开发教程 http://download.csdn.net/album/detail/1115 C#资料合辑二[C#桌面编程入门篇] http://download.csdn.net/album/detail/957 C#资料合辑一[C#入门篇] http://download.csdn.net/album/detail/669 [Csharp高级编程(第6版)](共8压缩卷) http://download.csdn.net/album/detail/667 10个[精品资源]Java学习资料合辑[一] http://download.csdn.net/album/detail/663 10个C#Socket编程代码示例 http://download.csdn.net/album/detail/631 6份GDI+程序设计资源整合[全零分] http://download.csdn.net/album/detail/625 更多免费资源 http://download.csdn.net/user/cleopard
资源推荐
资源详情
资源评论
基于硬盘序列号和 RSA 加密算法的软件加密方法
软件作为计算机的重要组成部分,随着计算机的普及,已渗入生活的各个角落。由于计算机
软件易于复制,导致了盗版软件的泛滥,所以软件开发者有必要加强自我保护意识,对自己
编写的软件进行加密保护,防止或尽量减少被盗版的可能性。下面我们就针对这个问题提
出了一种简便易行的对正版软件进行加密的方法,保护软件开发者的合法利益。
一、软件加密保护方案
软件加密方法大致分为两大类:硬加密方法和软加密方法。
硬加密方法是指利用软件结合特定的硬件来实现软件的加密,典型的硬加密产品有加密卡
指纹认证和软件狗等;
软加密方法是指仅使用软件方法加密,主要加密方式有序列号保护、警告窗口、时间限制
KeyFile 保护、功能限制等。目前,一些大型软件通常是采用综合软加密和硬加密两种方
法来实现软件的保护,而一些中小型软件受制于资金等条件,一般只采用软加密方法,如
序列号保护机制等,这使得中小型软件加密的可靠性和安全性大大降低。
我们知道不同计算机的硬盘序列号不相同,如果读取软件所装的计算机的硬盘序列号作为
软件加密的特征值,那么即使序列号保护机制中的“用户名”和“序列号”均被盗用,那么在别
的计算机上也不能成功注册使用软件,从而使得软件加密的安全性大大提高。但是,如果
软件加密保护采用的是简单的对称加密算法,一旦算法被攻破或采用的是何种算法被盗版
者猜出,盗版者就可以根据算法写出加密机和注册机,这个缺点使其加密的安全性和可靠
性大打折扣。
因此,我们提出了一种基于硬盘序列号和 RSA 加密算法的软件加密方法,将硬盘序列号所
具有的唯一性和不可变性,同 RSA 加密算法的安全性结合起来应用于软件的加密,即不会
不增加软件保护成本,又提高了软件加密的安全性,保护了软件开发者的知识产权。
二、硬盘序列号
通过 CPUID、分区卷标、硬盘大小、网卡 MAC 地址等信息均可以将任意两台计算机区分
出来。但是这些信息中有的是不可靠的,例如分区卷标仅与软件系统有关,是一种不稳定
的信息;有的是无法得到的,例如当机器中没有网卡或早于 PentiumⅢ 型号的 CPU,就得
不到网卡 MAC 地址或 CPUID 等信息。
而硬盘的序列号存在于硬盘的控制芯片内,不能用常规办法修改,是在出厂前由生产厂家
设定的,像硬盘的物理柱面数、扇区数一样,具有与操作系统无关的特性,不会随着硬盘
的分区、格式化状态而改变。硬盘序列号与将硬盘格式化成 FAT 或 FAT32 后在分区引导扇
区自动生成的卷序列号根本的区别是硬盘序列号是物理存在的,而每次格式化产生的序列
号是不同的,其实质是一种逻辑上的号码,并且可以手工修改。由于硬盘序列号具有唯一
性、不可变性、稳定性等优点,因此本文选择硬盘序列号作加密特征值。
三、RSA 加密算法原理
资源评论
- xunjiaoyisui02742015-05-30非常好,运行编译都正常,是非常优秀的国外CSharp开源库,可以在项目中集成使用。
- rogerstao2016-06-12非常好,值得学习
- skyfree9212015-09-16提供了一个很好的思路,可以借鉴学习下...
CLeopard
- 粉丝: 178
- 资源: 449
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Screenshot_20240427_031602.jpg
- 网页PDF_2024年04月26日 23-46-14_QQ浏览器网页保存_QQ浏览器转格式(6).docx
- 直接插入排序,冒泡排序,直接选择排序.zip
- 在排序2的基础上,再次对快排进行优化,其次增加快排非递归,归并排序,归并排序非递归版.zip
- 实现了7种排序算法.三种复杂度排序.三种nlogn复杂度排序(堆排序,归并排序,快速排序)一种线性复杂度的排序.zip
- 冒泡排序 直接选择排序 直接插入排序 随机快速排序 归并排序 堆排序.zip
- 课设-内部排序算法比较 包括冒泡排序、直接插入排序、简单选择排序、快速排序、希尔排序、归并排序和堆排序.zip
- Python排序算法.zip
- C语言实现直接插入排序、希尔排序、选择排序、冒泡排序、堆排序、快速排序、归并排序、计数排序,并带图详解.zip
- 常用工具集参考用于图像等数据处理
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功