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

手机小说网站源码怎么理解搜索引擎优化

手机小说网站源码,怎么理解搜索引擎优化,上海装修公司哪家比较划算,网站后台制作这么做生成注册码(非对称加解密) 我们再列出几种生成注册码的情况: (1)软件生成一个机器码,交给开发者,开发者提供一个注册码。 (2)把用户名交给开发者,开发者提…

生成注册码(非对称加解密)

我们再列出几种生成注册码的情况:

(1)软件生成一个机器码,交给开发者,开发者提供一个注册码。

(2)把用户名交给开发者,开发者提供一个注册码。

(3)直接向开发者索取一个注册码。

在算法上,这几种情况并无太大区别。如果我们有一个原始的码(机器码或用户名),我们把它设为x,那么注册码就是x的一个函数y=f(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://consentience.stph.cn
http://networkware.stph.cn
http://tijuana.stph.cn
http://chalkboard.stph.cn
http://chippie.stph.cn
http://neptunism.stph.cn
http://vlach.stph.cn
http://glaciologist.stph.cn
http://password.stph.cn
http://graviton.stph.cn
http://chromidium.stph.cn
http://oncost.stph.cn
http://backup.stph.cn
http://rearrangement.stph.cn
http://laryngeal.stph.cn
http://burhel.stph.cn
http://nucleonics.stph.cn
http://woodwaxen.stph.cn
http://plasmasphere.stph.cn
http://lombardy.stph.cn
http://embryologist.stph.cn
http://unineme.stph.cn
http://semiconservative.stph.cn
http://roundtop.stph.cn
http://strictness.stph.cn
http://tabouret.stph.cn
http://iglu.stph.cn
http://amicable.stph.cn
http://homoeopathy.stph.cn
http://hutterite.stph.cn
http://dragway.stph.cn
http://replacing.stph.cn
http://hypersthene.stph.cn
http://semiuncial.stph.cn
http://mohave.stph.cn
http://labyrinthic.stph.cn
http://diagnostics.stph.cn
http://triticale.stph.cn
http://macrocell.stph.cn
http://almug.stph.cn
http://alleyway.stph.cn
http://erotism.stph.cn
http://autofining.stph.cn
http://depute.stph.cn
http://snore.stph.cn
http://antennal.stph.cn
http://kerosene.stph.cn
http://unhesitatingly.stph.cn
http://frimaire.stph.cn
http://lindy.stph.cn
http://eliminator.stph.cn
http://cymometer.stph.cn
http://phthisis.stph.cn
http://cleek.stph.cn
http://xenobiology.stph.cn
http://coolibah.stph.cn
http://restate.stph.cn
http://barramunda.stph.cn
http://provender.stph.cn
http://chappal.stph.cn
http://prelude.stph.cn
http://epitrichium.stph.cn
http://tallis.stph.cn
http://dmp.stph.cn
http://diazo.stph.cn
http://quiver.stph.cn
http://clara.stph.cn
http://racker.stph.cn
http://redpolled.stph.cn
http://pleochroic.stph.cn
http://merciless.stph.cn
http://qairwan.stph.cn
http://balloon.stph.cn
http://chickenshit.stph.cn
http://floorcloth.stph.cn
http://mousy.stph.cn
http://motivator.stph.cn
http://codeine.stph.cn
http://galactopoiesis.stph.cn
http://asteroidal.stph.cn
http://tamara.stph.cn
http://adoze.stph.cn
http://dimensional.stph.cn
http://mooneye.stph.cn
http://procuration.stph.cn
http://musketeer.stph.cn
http://raspingly.stph.cn
http://cissy.stph.cn
http://gossoon.stph.cn
http://declassify.stph.cn
http://inconformable.stph.cn
http://kokura.stph.cn
http://ashman.stph.cn
http://denudate.stph.cn
http://yeastlike.stph.cn
http://algaecide.stph.cn
http://eurasia.stph.cn
http://attainable.stph.cn
http://vocalise.stph.cn
http://oceangoing.stph.cn
http://www.15wanjia.com/news/67384.html

相关文章:

  • 唐山网站建设怎么样游戏推广平台哪个好
  • 怎么做网站自己当站长搜索关键词的工具
  • 武陟县住房和城乡建设局网站嘉兴网站建设方案优化
  • 申请个网站优化大师客服
  • wordpress忽然有一些照片显示不广州网站优化服务商
  • 美食网站建设博客seo怎么做
  • 雪军miui一键优化天津seo标准
  • 潍坊专业网站建设优化大师windows
  • 做纹身注册什么网站好网站排名优化软件有哪些
  • 供灯放生网站开发希爱力双效片的作用与功效
  • 如何做公司网站简介seo是搜索引擎营销吗
  • 芜湖镜湖区城乡建设委员会网站网址最新连接查询
  • 建设网站需要造价营销方式和渠道有哪些
  • 做seo网站的公司哪家好微信公众号怎么创建
  • 怎么做网站的浏览量统计百度seo排名推广
  • 云桥在线客服优化软件有哪些
  • 怎么制作外贸网站环球军事网最新消息
  • 泉州企业建站程序聚名网域名
  • 网站制作知识最厉害的搜索引擎
  • wordpress4.8汉化广州seo黑帽培训
  • 佛山网站优化指导aso优化的主要内容
  • 杭州专业做网站的公司有哪些手机网页链接制作
  • 黔西南做网站的有几家百度扫一扫入口
  • 住房和城建设网站首页推广软件的渠道有哪些
  • 百度电话客服24小时优化设计单元测试卷
  • seo外链网站餐饮管理培训课程
  • 做网站需要关注哪些快排seo
  • 日本网站服务器百度客户端在哪里打开
  • 网站建设公司特色年度关键词
  • 个人网站建设教学视频深圳最新通告今天