游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

AS2协议详解(二)

  上一篇中主要讲解了加密的理论知识,这篇来上代码。
  签名和验签
  通过信息摘要算法和非对称加密,可以实现信息的防伪造,防篡改,通过我们的私钥来签名消息,接收方就能通过我们的公钥来校验该消息是否是我们发送的。
  获取证书库publicstaticKeyStoregetKeyStore(InputStreamkeyStoreInputStream,StringkeyStorePassword,StringkeyStoreType)throwsException{returngetKeyStore(keyStoreInputStream,keyStorePassword,keyStoreType);}publicstaticKeyStoregetKeyStore(InputStreamkeyStoreInputStream,StringkeyStorePassword,StringkeyStoreType,Stringprovider)throwsException{KeyStorekeyStore;if(StringUtils。isNotBlank(provider)){keyStoreKeyStore。getInstance(keyStoreType,provider);}else{keyStoreKeyStore。getInstance(keyStoreType);}keyStore。load(keyStoreInputStream,keyStorePassword。toCharArray());IoUtil。close(keyStoreInputStream);returnkeyStore;}从证书库中获取公钥publicstaticPublicKeygetPublicKeyFromKeyStore(KeyStorekeyStore,Stringalias)throwsException{CertificatecertificatekeyStore。getCertificate(alias);returncertificate。getPublicKey();}从证书库获取私钥publicstaticPrivateKeygetPrivateKeyFromKeyStore(KeyStorekeyStore,Stringalias,Stringpassword)throwsException{return(PrivateKey)keyStore。getKey(alias,password。toCharArray());}签名publicstaticbyte〔〕sign(byte〔〕message,PrivateKeyprivateKey,Stringalgorithm)throwsException{Signaturesignature;signatureSignature。getInstance(algorithm);signature。initSign(privateKey);signature。update(message);returnsignature。sign();}验签publicstaticbooleanverify(byte〔〕message,byte〔〕signMessage,PublicKeypublicKey,Stringalgorithm)throwsException{Signaturesignature;booleanverifyResult;signatureSignature。getInstance(algorithm);signature。initVerify(publicKey);signature。update(message);verifyResultsignature。verify(signMessage);returnverifyResult;}
  然后写个单元测试来验证下
  TestpublicvoidtestVerify()throwsException{FileInputStreamfisnewFileInputStream(newFile(d:keystestkeystore。keystore));获取证书库KeyStorekeyStoregetKeyStore(fis,mypassword,JKS);获取私钥PrivateKeyprivateKeygetPrivateKeyFromKeyStore(keyStore,mykeystore,mypassword);摘要算法用SHA1,非对称加密算法用RSA进行签名byte〔〕signMessagesign(CONTENT。getBytes(),privateKey,SHA1withRSA);获取公钥PublicKeypublicKeygetPublicKeyFromKeyStore(keyStore,mykeystore);进行验签booleanverifyverify(CONTENT。getBytes(),signMessage,publicKey,SHA1withRSA);System。out。println(verify);}
  加密和解密
  使用私钥加密publicstaticbyte〔〕encodeByPrivateKey(byte〔〕data,PrivateKeyprivateKey)throwsException{对数据加密,加密算法由创建秘钥时指定,也可以自己指定,一般用RSACiphercipherCipher。getInstance(privateKey。getAlgorithm());cipher。init(Cipher。ENCRYPTMODE,privateKey);returncipher。doFinal(data);}使用公钥解密publicstaticbyte〔〕decodeByPublicKey(byte〔〕data,PublicKeypublicKey)throwsException{对数据加密CiphercipherCipher。getInstance(publicKey。getAlgorithm());cipher。init(Cipher。DECRYPTMODE,publicKey);returncipher。doFinal(data);}公钥加密publicstaticbyte〔〕encodeByPublicKey(byte〔〕data,PublicKeypublicKey)throwsException{对数据加密CiphercipherCipher。getInstance(publicKey。getAlgorithm());cipher。init(Cipher。ENCRYPTMODE,publicKey);returncipher。doFinal(data);}私钥解密publicstaticbyte〔〕decodeByPrivateKey(byte〔〕data,PrivateKeyprivateKey)throwsException{对数据加密CiphercipherCipher。getInstance(privateKey。getAlgorithm());cipher。init(Cipher。DECRYPTMODE,privateKey);returncipher。doFinal(data);}
  单元测试
  publicstaticStringCONTENT寥落古行宫,宫花寂寞红。白头宫女在,闲坐说玄宗;TestpublicvoidtestDecode()throwsException{FileInputStreamfisnewFileInputStream(newFile(d:keystestkeystore。keystore));KeyStorekeyStoregetKeyStore(fis,mypassword,JKS);PrivateKeyprivateKeygetPrivateKeyFromKeyStore(keyStore,mykeystore,mypassword);PublicKeypublicKeygetPublicKeyFromKeyStore(keyStore,mykeystore);加密byte〔〕encodeencodeByPrivateKey(CONTENT。getBytes(),privateKey);解密byte〔〕messagedecodeByPublicKey(encode,publicKey);System。out。println(newString(message));}

索尼发布新款手表表带手环wena3metalIT之家10月1日消息索尼今天发布了手表表带手环wena3metal,可作为传统手表的表带使用,同时搭载了OLED屏,支持健康检测和NFC功能。据介绍,这款手表表带手环可……拼多多进军北美,Temu或难以砍动海外市场编辑于斌出品潮起网于见专栏互联网企业出海已经不新鲜,前有海外版抖音Tiktok搅动一池春水,后有拼多多试图在海外砍一刀。今年9月,拼多多在北美正式上线跨境电商平台T……第七届百队杯青少年篮球赛落幕新华社北京2月26日电由京报集团北京晚报、北京市篮球运动协会共同主办,北京宋晓波体育文化传播有限公司承办的第七届北京晚报百队杯青少年篮球赛26日落幕。自1984年创办以来……惠普发布新款Envy13笔记本11代酷睿,升级雷电4接口IT之家10月2日消息惠普今天发布了新款的Envy13和Envyx36013两款13英寸笔记本,搭载了11代酷睿,设计未变,接口升级为雷电4。IT之家了解到,Envyx3……惠普发布Spectrex36014笔记本11代酷睿,32OLIT之家10月2日消息惠普现已发布Spectrex36014笔记本,搭载了11代酷睿处理器和3:2比例的屏幕。IT之家了解到,这款笔记本获得了英特尔Evo认证,拥有超过9……华为mate50王者归来鸿蒙3。01TB5G66W快充华为作为国产手机中的老大哥,从中华酷联时代开始,就广受喜爱,而华为也不负众望,不仅自研芯片,而且在国际市场也是成绩斐然,名列全球手机销量前三。但是受到美国的打压,华为也是……微软XboxSeriesX内部SSD具有802GB可用空间,IT之家9月29日消息9月9日晚间,微软公布了XboxSeriesXS两款主机的售价,分别为499美元和299美元。两款主机的CPU差距不大,都是8核配置,频率相差0。2GHz……长江存储新一代企业级SSDSE005闪存新品发布容量1920IT之家9月26日消息9月24日,2020中国国际金融展开幕式系列活动在京启幕。新华三集团携手长江存储共同发布芯一代企业级SSDSE005闪存产品。IT之家了解到,借助长……德国厂商为M。2SSD推出风冷散热器IT之家9月25日消息德国厂商RaidSonic推出了一款M。2SSD风冷散热器,双热管配30mm小风扇。RaidSonic官方信息显示,这款M。2SSD散热器名为Ice……影驰发布2。5英寸企业级SSD单盘16TB,寿命达2600TIT之家9月23日消息根据影驰官方的消息,影驰今日正式发布了旗下擎系列企业级SSDGAESSD,容量高达16TB。IT之家了解到,擎GAE16TB企业级SSD采用了2。5……三星980PROSSD国行上架,1TB售价1899元IT之家9月22日消息今晚,三星电子有限公司发布了其首款消费型PCIe4。0NVMeSSD三星SSD980PRO,官方称新款980PRO专为希望在其高端PC、工作站和游戏机上实……微软解释为何Surface不上雷电3有被黑客访问内存的风险IT之家4月25日消息根据外媒mspoweruser的报道,微软在一段视频中介绍了为何最新的Surface产品使用了TypeC,却没用采用雷电3。简单地说,微软认为雷电3不够安……
5折大促知乎盐选会员年卡109元去哪儿钻石会员年卡86元知乎盐选会员年卡原价238元,官方日常售价198元,今日直降至109元新低好价。活动时间:4月29日5月5日。天猫赠星月礼遇权益,知乎盐选会员年卡12个月原价238元年券后10……腾讯QQ会员大促QQ会员78元年超级会员156元年腾讯QQ会员开启6。5折活动,年卡限时抢购,官方原价会员120元年、超级会员240元年,限时低至78元年、156年。活动时间:4月15日28日影音会员大促合集:会员……最了不起的人不是拥有一切最好的人,而是把一切都变好的人1。心小了,所有的小事就大了;心大了,所有的大事都小了;看淡世事沧桑,内心安然无恙。2。最了不起的人不是拥有一切最好的人,而是把一切都变好的人3。你的世界很大,山川洋流浩……百度文库补贴大促QQ音乐百度网盘联合会员99元269元百度文库旗舰店现已开启会员补贴大促,联合会员低至99元起:天猫QQ音乐百度文库屈臣氏联合年卡会员券后99元领100元券天猫百度网盘超级会员年卡百度文库年卡网易严选10月卡券后2……送80元话费,樊登读书VIP双年卡五折364元大促樊登读书VIP会员年卡原价365元年,现推出买1年送1年优惠,实付364元到手2年,下单送50元话费,联系客服分享再送30元话费,活动时间:4月6日26日:天猫樊登读书会员双年……6元月探底,搜狐视频VIP会员年卡69。3元(3。5折)搜狐视频会员原价198元年,限时3。5折,年卡仅售69。3元,活动时间:4月8日14日:天猫搜狐视频会员年卡12个月券后69。3元领130元券影音会员大促合集:会员名称原……别大意!母婴用品应该如何消毒?消毒喷雾枪或可发挥奇效母婴消毒是一个非常重要的话题,特别是在新生儿到家后。家庭环境对于新生儿的健康和安全至关重要,而消毒可以帮助减少细菌和病毒的数量,防止感染。本文将讨论母婴消毒的重要性以及如何正确……成长需要鼓励吗?鼓励式教育火了青年永远是被时代赋予重任并且报以期待和鼓励着的,所以如何给新一代的小孩建造一个健康的成长环境一直是我们关注的重点,如今更不容忽视的还有心理上的问题。图片来源于网络人……IT之家评测室萤石智能可视门铃DB2C体验广角全景红外夜视,如果你想更好地关注家门口的安全状况,却不具备安装智能猫眼的条件,那么可视智能门铃会是一个好选择。最近萤石发布了全新的智能可视门铃套装DB2C,它集成猫眼智能家居摄像机门铃于一体……对不起,我要拉黑白敬亭的淘宝店了!!!家人们,通知你们个事,我最近又换新墙头了!他就是小白,白敬亭!真的是在审美点上了,那童颜巨肌,那反骨劲儿而且他的穿搭俺也超喜欢!基础穿搭咱就不说了,配色丰富最……ARM断供对华为影响没那么严重,曝5月新款海思麒麟芯片发布划重点:1、华为海思与ARM已经签署了ARMv8架构终身授权,海思新品开发不会受到影响;2、华为即将在5月30日发布麒麟芯片,华为的麒麟芯片以及鲲鹏都是基于ARM架……AMD锐龙笔记本天猫大促,最高直降1000元IT之家3月27日消息在AMD锐龙5000系列笔记本上市之际,AMD锐龙4000系列笔记本也在天猫平台举行了大促活动。3月20日3月28日,AMD联名本宫的茶,消费者购买搭载A……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网