当前位置: 首页 > news >正文

怎么做带数据库的网站网页编辑器dw

怎么做带数据库的网站,网页编辑器dw,设计手机网站,建设网站有哪些生成注册码#xff08;非对称加解密#xff09; 我们再列出几种生成注册码的情况#xff1a; #xff08;1#xff09;软件生成一个机器码#xff0c;交给开发者#xff0c;开发者提供一个注册码。 #xff08;2#xff09;把用户名交给开发者#xff0c;开发者提…生成注册码非对称加解密 我们再列出几种生成注册码的情况 1软件生成一个机器码交给开发者开发者提供一个注册码。 2把用户名交给开发者开发者提供一个注册码。 3直接向开发者索取一个注册码。 在算法上这几种情况并无太大区别。如果我们有一个原始的码机器码或用户名我们把它设为x那么注册码就是x的一个函数yf(x)。如果是第三种情况那么x可能是一个随机数也可能是有效期信息等同样使用f(x)生成注册码然后把x-f(x)同时给到软件。 那其实这里的重点就是f(x)。我们以机器码为例生成注册码的流程如下 在上图中G(x)是F(x)的一个逆运算。 为了安全起见我们可以使用RSA实现F(x)和G(x)。我们在注册机一端使用私钥加密然后在软件一端使用公钥解密。有几个问题要在这里说一下 1如果我们使用C#开发的话我们会发现系统的RSACryptoServiceProvider类只能公钥加密私钥解密。我们可以使用一个名为BouncyCastle的第三库。加密解密代码如下 //RSA密钥对的构造器 RsaKeyPairGenerator keyGenerator new RsaKeyPairGenerator();//RSA密钥构造器的参数 RsaKeyGenerationParameters param new RsaKeyGenerationParameters(Org.BouncyCastle.Math.BigInteger.ValueOf(3),new SecureRandom(),192, //密钥长度 25); //用参数初始化密钥构造器 keyGenerator.Init(param); //产生密钥对 AsymmetricCipherKeyPair keyPair keyGenerator.GenerateKeyPair(); //获取公钥和密钥 AsymmetricKeyParameter publicKey keyPair.Public; AsymmetricKeyParameter privateKey keyPair.Private;SubjectPublicKeyInfo subjectPublicKeyInfo SubjectPublicKeyInfoFactory.CreateSubjectPublicKeyInfo(publicKey); Asn1Object asn1ObjectPublic subjectPublicKeyInfo.ToAsn1Object(); byte[] publicInfoByte asn1ObjectPublic.GetEncoded(UTF-8);PrivateKeyInfo privateKeyInfo PrivateKeyInfoFactory.CreatePrivateKeyInfo(privateKey); Asn1Object asn1ObjectPrivate privateKeyInfo.ToAsn1Object(); byte[] privateInfoByte asn1ObjectPrivate.GetEncoded(UTF-8);byte[] data new byte[] { 2, 3, 5, 7, 1, 2, 5, 8, 4, 2, 4 }; byte[] encrypt null; {AsymmetricKeyParameter priKey PrivateKeyFactory.CreateKey(privateInfoByte);IAsymmetricBlockCipher engine new Pkcs1Encoding(new RsaEngine());engine.Init(true, priKey);encrypt engine.ProcessBlock(data, 0, data.Length); }byte[] decrypt null; {Asn1Object pubKeyObj Asn1Object.FromByteArray(publicInfoByte);AsymmetricKeyParameter pubKey PublicKeyFactory.CreateKey(publicInfoByte);IAsymmetricBlockCipher engine new Pkcs1Encoding(new RsaEngine());engine.Init(false, pubKey);decrypt engine.ProcessBlock(encrypt, 0, encrypt.Length); } 2有人说这样的方法只要对软件进行反编译把公钥替换成自己生成的公钥就能破解。是的这并没有错。但如果能对软件反编译的话我们可以直接把判断的语句改掉例如把if(valid)改成if(true)就可以了。所以我们这里有一个假设就是破解者无法对软件进行反编译。我们可以用加壳或混淆的方式来做这里不涉及。 3最大的问题就是RSA的密钥长度很长。C#自带的RSA类要求密钥最短是384位转成16进制有96个字符太长了。即使是用上面的第三方库最短也要192位也就是48个字符。所以这种方法是没办法用在手抄注册码的场合的可以用在注册证书也就是文件存放注册码。
http://www.w-s-a.com/news/371783/

相关文章:

  • 大良营销网站建设效果彩票网站搭建 做网站
  • 做网站的公司为什么人少了在中国如何推广外贸平台
  • 盘锦网站制作工业电商网站怎么配色
  • 白云企业网站建设seo排名点击软件
  • wordpress跨站脚本攻击漏洞国外注册的域名国内能用吗
  • 西部数码网站管理助手2工信部资质查询网站
  • 公司网站哪个建的好吉林网站制作
  • 视频网站怎么引流wordpress私人玩物
  • 我的家乡湛江网站设计新钥匙网站建设
  • 辽宁网站推广爱前端wordpress5.0.3主题
  • python怎么做网站贵阳网站制作
  • 深圳网站的优化seo网络推广有哪些
  • 网站建设实习报告范文荆州市城市建设档案馆网站
  • 网站开发信息平台项目总结企业网站如何推广
  • 网站备案名称规定手机免费h5制作软件
  • 接网站建设单子的网站网页设计尺寸多大
  • 订制型网站费用做网站的问题
  • 淮阳住房和城乡建设网站桂林新闻桂林人论坛
  • 公司网站建设价格标准老版本网站开发工具
  • 门户网站开发费怎做账做网站交互demo工具
  • 中山最好的网站建设黄村网站建设价格
  • 企业网站首页应如何布局互联网营销师证书报名入口
  • 绍兴做网站哪家好篮球网站设计
  • 鹤岗市城乡建设局网站西域电商平台官网
  • 外贸网网站建设蓝色管理系统网站模版
  • 网站服务器关闭阿里巴巴logo
  • 青岛 网站制作公司乐从网站制作
  • wordpress 微网站模板怎么用wordpress 文档下载
  • ppt网站建设的目的合肥做网站找哪家好
  • wordpress站点路径redis缓存wordpress