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

网站怎样才能被百度收录学网站建设有用吗

网站怎样才能被百度收录,学网站建设有用吗,网线制作心得体会,网站需求列表一#xff1a;SM2简介 SM2是中国密码学算法标准中的一种非对称加密算法#xff08;包括公钥和私钥#xff09;。SM2主要用于数字签名、密钥交换和加密解密等密码学。 生成秘钥#xff1a;用于生成一对公钥和私钥。公钥#xff1a;用于加密数据和验证数字签名。私钥…一SM2简介 SM2是中国密码学算法标准中的一种非对称加密算法包括公钥和私钥。SM2主要用于数字签名、密钥交换和加密解密等密码学。 生成秘钥用于生成一对公钥和私钥。公钥用于加密数据和验证数字签名。私钥用于解密数据和生成数字签名。数字签名用于生成和验证数字签名可以独立使用。数字签名可以确保数据的完整性和身份认证防止数据被篡改或冒充。发送方可以使用自己的私钥生成数字签名并将签名附加在数据上发送给接收方。接收方使用发送方的公钥来验证数字签名的有效性从而确保数据的完整性和身份认证。密钥交换双方可以使用各自的私钥和对方的公钥来生成一个共享密钥用于后续的对称加密通信。加密解密发送方使用接收方的公钥进行加密接收方使用自己的私钥进行解密。 CFCA 二Java dependencygroupIdorg.apache.commons/groupIdartifactIdcommons-lang3/artifactIdversion3.9/version /dependencydependencygroupIdcom.cfca/groupIdartifactIdSADK/artifactIdversion3.2.1.3/version /dependencypublic class SM2Util {private static final String PVK_FILE .pvk;private static final String PUB_FILE .puk;/*** 加密数据* param publicKey* param data*/public static byte[] encrypt(PublicKey publicKey, byte[] data) throws Exception {byte[] result null;SM2Toolkit sm2Toolkit new SM2Toolkit();SM2PublicKey sm2PublicKey (SM2PublicKey)publicKey;result sm2Toolkit.SM2EncryptData(sm2PublicKey, data);return result;}public static byte[] decryptString(PrivateKey privateKey, String base64Text) throws Exception {SM2Toolkit sm2Toolkit new SM2Toolkit();SM2PrivateKey sm2PrivateKey (SM2PrivateKey)privateKey;return sm2Toolkit.SM2DecryptData(sm2PrivateKey, BASE64Toolkit.decode(base64Text));}public static void sm4EncryptFile(String key, String inFile, String outFile) throws Exception{SM4Toolkit toolkit new SM4Toolkit();toolkit.SM4Init(key.getBytes(), key.getBytes());toolkit.SM4EncryptFile(inFile, outFile);}public static boolean sM4DecryptFile(String key, String inFile, String outFile) throws Exception {SM4Toolkit toolkit new SM4Toolkit();toolkit.SM4Init(key.getBytes(), key.getBytes());return toolkit.SM4DecryptFile(inFile, outFile);}/*** 签名* param privateKey*/public static String singnString(PrivateKey privateKey, byte[] srcBytes) throws Exception {SM2Toolkit sm2Toolkit new SM2Toolkit();SM2PrivateKey sm2PrivateKey (SM2PrivateKey)privateKey;String result BASE64Toolkit.encode(sm2Toolkit.SM2Sign(sm2PrivateKey, srcBytes));return result;}public static String sm2SignFile(String filePath, String privateKeyPath) throws Exception {SM2Toolkit sm2Toolkit new SM2Toolkit();byte[] privateBytes readKey(privateKeyPath);SM2PrivateKey sm2PrivateKey (SM2PrivateKey)sm2Toolkit.SM2BuildPrivateKey(BASE64Toolkit.encode(privateBytes));byte[] hash SM3Toolkit.SM3HashFile(sm2PrivateKey.getSM2PublicKey(), filePath);String result BASE64Toolkit.encode(BCSoftSM2.sign(hash, sm2PrivateKey.dBigInteger(), true));return result;}/*** 文件验签* param outfilePath* param keyPath* param singStr* return*/public static boolean verify(String outfilePath, String keyPath, String singStr) {boolean result false;try {SM2Toolkit toolkit new SM2Toolkit();SM2PublicKey sm2PublicKey (SM2PublicKey)toolkit.SM2BuildPublicKey(BASE64Toolkit.encode(readKey(keyPath)));byte[] hash SM3Toolkit.SM3HashFile(sm2PublicKey, outfilePath);result toolkit.SM2VerifyHash(sm2PublicKey, hash, BASE64Toolkit.decode(singStr));} catch (Exception e) {throw new RuntimeException(文件验签失败);}return result;}/*** 读取私钥* param keyPath* return*/public static SM2PrivateKey buildPrivateKey(String keyPath) throws Exception {if (!keyPath.endsWith(PVK_FILE)) {keyPath PVK_FILE;}byte[] privateKeyByte readKey(keyPath);SM2Toolkit sm2Toolkit new SM2Toolkit();SM2PrivateKey sm2PrivateKey (SM2PrivateKey)sm2Toolkit.SM2BuildPrivateKey(BASE64Toolkit.encode(privateKeyByte));return sm2PrivateKey;}/*** 读取公钥* param keyPath* return*/public static SM2PublicKey buildPublicKey(String keyPath) throws Exception {if (!keyPath.endsWith(PUB_FILE)) {keyPath PUB_FILE;}byte[] privateKeyByte readKey(keyPath);SM2Toolkit sm2Toolkit new SM2Toolkit();SM2PublicKey sm2PublicKey (SM2PublicKey)sm2Toolkit.SM2BuildPublicKey(BASE64Toolkit.encode(privateKeyByte));return sm2PublicKey;}/*** 读取秘钥* param filePath*/public static byte[] readKey(String filePath) throws Exception {try(FileInputStream is new FileInputStream(filePath)) {byte[] out new byte[is.available()];byte[] buffer new byte[1024];int len;for (int offset 0; (len is.read(buffer, 0, buffer.length)) ! -1; offset len) {System.arraycopy(buffer, 0, out, offset, len);}return out;}}public static void main(String[] args) throws Exception {SM2Toolkit toolkit new SM2Toolkit();KeyPair keyPair toolkit.SM2GenerateKeyPair();PublicKey publicKey keyPair.getPublic();PrivateKey privateKey keyPair.getPrivate();// 1. 对源文件进行签名最终会作为签名文件和数据zip一起放到新的.zip中去String zipPath /Temp/data.zip;String tempZipPath /Temp/Activiti/data.zip;String signguare sm2SignFile(zipPath, xxx.pvk);// 2. 对秘钥加密(最终将将加密的秘钥作为压缩包文件中的一部分)String verifyChars 1234567890abcdefghijkmnopqrstuvwxyz;String encryptKey RandomStringUtils.random(16, verifyChars).toUpperCase();byte[] encrypt encrypt(buildPublicKey(/Temp/xxx.puk), random16.getBytes());byte[] encryptKeyBytes BASE64Toolkit.encode(encrypt).getBytes();// 3. 加密源文件sm4EncryptFile(encryptKey, zipPath, tempZipPath);// 4. 新的zip (sign文件、秘钥文件、加密源文件)} }
http://www.w-s-a.com/news/735231/

相关文章:

  • 下载好了网站模板怎么开始做网站阿克苏网站建设价格
  • 有谁做彩票网站学会了vue 能搭建一个网站平台
  • 描述对于营销型网站建设很重要飘红效果更佳教育培训排行榜前十名
  • 国外网站有哪些推荐的网站按关键词显示广告图片
  • 互联网招聘网站排名手机网站系统
  • 网站与云平台区别企业网站建设有什么要求
  • wordpress福利网站源码高端网站设计培训机构
  • 网站建设找客户招标网免费
  • 东莞食品网站建设扬州市住房建设局网站
  • 网站色彩心理建设网站的主要功能有哪些
  • 营销型网站建设运营企业宣传网页设计
  • 建设银行官方网站网址sem搜索
  • 简述建设网站的具体步骤网络建设方案ppt
  • 自建门户网站建设工程质量监理协会网站
  • 为企网站版面设计经历了哪几个阶段
  • 如何直到网站是用什么模板做的怎么在外贸公司拿订单
  • 网站专题制作酒店网站建设考虑的因素
  • 苏州招聘网站建设潍坊网站建设wfxtseo
  • 手机网站特效做互联网平台要多少钱
  • 做网站广告推广平台旅游网站后台管理系统
  • ppt模板下载免费素材网站php网站开发平台下载
  • 网站推广策划报告航空航天可以做游戏可以视频约会的网站
  • 云南建设学院的网站划分切片来做网站
  • 建设视频网站需要什么知识辽阳建设网站
  • 提供o2o网站建设打扑克网站推广软件
  • 制作简单门户网站步骤中国建设局网站查询
  • 漳州专业网站建设网站建设的面试要求
  • 有哪些网站是封面型汕头网站上排名
  • 自动优化网站软件没有了做的新网站做百度推广怎么弄
  • 高陵县建设局网站商标查询网站