软件注册码(算法二Rijndael)
1 /// <summary> 2 /// Rijndael算法 3 /// </summary> 4 public class RijndaelCrypto : ICrypto 5 { 6 /// <summary> 7 /// Key值 8 /// </summary> 9 private byte[] _key; 10 /// <summary> 11 /// IV向量 12 /// </summary> 13 private byte[] _iv = new byte[] { 107, 22, 226, 145, 208, 243, 46, 41 }; 14 public RijndaelCrypto(byte[] key) 15 { 16 this._key = key; 17 } 18 /// <summary> 19 /// 加密 20 /// </summary> 21 /// <param name="bytes"></param> 22 /// <returns></returns> 23 public byte[] Encrypt(byte[] bytes) 24 { 25 RijndaelManaged rm = this.GetProvider(); 26 ICryptoTransform it = rm.CreateEncryptor(rm.Key, rm.IV); 27 return it.TransformFinalBlock(bytes, 0, bytes.Length); 28 } 29 /// <summary> 30 /// 解密 31 /// </summary> 32 /// <param name="bytes"></param> 33 /// <returns></returns> 34 public byte[] Decrypt(byte[] bytes) 35 { 36 RijndaelManaged rm = this.GetProvider(); 37 ICryptoTransform it = rm.CreateDecryptor(rm.Key, rm.IV); 38 return it.TransformFinalBlock(bytes, 0, bytes.Length); 39 } 40 private RijndaelManaged GetProvider() 41 { 42 RijndaelManaged rm = new RijndaelManaged(); 43 rm.Key = this._key; 44 rm.IV = this._iv; 45 return rm; 46 } 47 }
转载于:https://www.cnblogs.com/macheal/archive/2013/05/10/3072167.html
软件注册码(算法二Rijndael)相关推荐
- 蛙蛙推荐:蛙蛙牌软件注册码算法
蛙蛙推荐:蛙蛙牌软件注册码算法 摘要:辛辛苦苦写个共享软件,又怕被人破解,所以就会想到用注册码的方式来激活软件.本蛙给大家一个简单的思路来实现软件注册码算法,当然.net做的东西很容易被人破解,反编译 ...
- C#实现软件注册码算法
Microsoft.Net的应用程序的代码文件,与Java生成的文件类似,它们都没有本地代码,而是一种类似于汇编的代码.这样,只要有合适的工具,就可以完整的把别人写出来的程序反编译成自己需要的程序文件 ...
- 基于RSA算法实现软件注册码原理初讨
https://blog.csdn.net/larryliuqing/article/details/7457200 前言 目前,商用软件和共享软件绝大部份都是采用注册码授权的方式来保证软件本身不被盗 ...
- 在线激活流程研究, 芯片杂烩, 软件滤波算法
在线激活流程研究 在世界范围内,软件的盗版问题都是个令程序员苦恼的问题.相应的,很多反盗版的措施也就应运而生.其中以输入序列号.激活码的产品激活策略应用最为广泛.本文就从流程的角度粗略的描述一下这个过 ...
- 使用pytorch从零开始实现YOLO-V3目标检测算法 (二)
原文:https://blog.csdn.net/u011520516/article/details/80212960 博客翻译 这是从零开始实现YOLO v3检测器的教程的第2部分.在上一节中,我 ...
- C#之windows桌面软件第十二课:电脑ADC值显示(上位机),记忆上次串口号,并用TrackBar控件显示ADC值
C#之windows桌面软件第十二课:电脑ADC值显示(上位机),记忆上次串口号,并用TrackBar控件显示ADC值 using System; using System.Collections.G ...
- 从零开始学数据结构和算法(二)线性表的链式存储结构
链表 链式存储结构 定义 线性表的链式存储结构的特点是用一组任意的存储单元的存储线性表的数据元素,这组存储单元是可以连续的,也可以是不连续的. 种类 结构图 单链表 应用:MessageQueue 插 ...
- GIS基础软件及操作(二)
原文 GIS基础软件及操作(二) 练习二.管理地理空间数据库 1.利用ArcCatalog 管理地理空间数据库 2.在ArcMap中编辑属性数据 第1步 启动 ArcCatalog 打开一个地理数据库 ...
- Unicode双向算法详解(bidi算法)(二)
作者:黄邦勇帅(原名:黄勇)2019-10-17 Unicode双向算法详解(bidi算法)(二) 本文为原创文章,转载请注明出处,或注明转载自"黄邦勇帅(原名:黄勇) 本文是对<C+ ...
最新文章
- 最小生成树(MST)
- 计算机机等级考试四级模拟,《全国计算机等级考试上机考试模拟考场-四级》.pdf...
- oracle pipelined返回值函数 针对数据汇总统计 返回结果集方法
- Python 数据分析三剑客之 Pandas(三):算术运算与缺失值的处理
- javax.servlet.jsp.JspTagException:
- [转]Paul Adams:为社交设计
- java 内存泄露 书籍_java虚拟机内存溢出和泄漏实例
- html5和极速模式,浅谈360浏览器6.0版本极速模式与兼容模式_蓝戒的博客
- 第七讲 虚拟机模板及大规模部署虚拟机
- java 字符串原样输出_Java 中如何原样输出转义符号
- 计算机高速接口与嵌入式设计与实现,基于嵌入式双结构通信系统高速接口的设计与实现...
- 8086可以用c语言编程吗,[求助]如何将C程序反汇编成8086汇编程序
- 双重检查锁定的缺点与改进
- unix系统安装及应用
- mybatis Example常用方法
- ◎Vbs调用MsAgent组件,很有趣
- 基于Java+SpringBoot+vue+elementui社区疫情防控系统详细设计实现
- Java SSM框架简介
- echarts2 的引入方式
- 3des加密及解密处理