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

淘客网站怎么做首页网络舆情的网站

淘客网站怎么做首页,网络舆情的网站,wordpress购物车系统,自学网ps教程新手入门项目需要对接Java的接口,一些参数需要用到Rsa加密,经过多次尝试,该工具类可以跟Java的接口正确解析,在此记录一下,后面会附上Java的代码。 C# RSA工具类代码: using System; using System.Collections.Ge…

项目需要对接Java的接口,一些参数需要用到Rsa加密,经过多次尝试,该工具类可以跟Java的接口正确解析,在此记录一下,后面会附上Java的代码。

C# RSA工具类代码:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
using static System.Runtime.InteropServices.JavaScript.JSType;namespace Tools
{public class RSAHelper{public static string PubEncrypt1(string pubKey, string src){try{using (RSA rsa = RSA.Create()){// 导入公钥(PEM 格式或 XML 格式)//ImportPublicKey(rsa, pubKey);var pub = pubKey.Replace("-----BEGIN PUBLIC KEY-----", "").Replace("-----END PUBLIC KEY-----", "");rsa.ImportSubjectPublicKeyInfo(Convert.FromBase64String(pub), out _); byte[] dataToEncrypt = Encoding.UTF8.GetBytes(src);//int keySize = rsa.KeySize / 8; // in bytes//int blockSize = keySize - 42; // 最大明文长度(OAEP SHA256)= keySize - 2 * hashLength = 256 - 2*32 = 192int chunkSize = 117; // Java 示例中使用的是 117 字节,对应 1024 bit 密钥 + SHA-256 OAEPbyte[] encryptedData;using (var memoryStream = new MemoryStream()){int offset = 0;while (offset < dataToEncrypt.Length){int remaining = dataToEncrypt.Length - offset;int blockLen = Math.Min(chunkSize, remaining);byte[] block = new byte[blockLen];Array.Copy(dataToEncrypt, offset, block, 0, blockLen);byte[] encryptedBlock = rsa.Encrypt(block, RSAEncryptionPadding.OaepSHA256);memoryStream.Write(encryptedBlock, 0, encryptedBlock.Length);offset += blockLen;}encryptedData = memoryStream.ToArray();}return Convert.ToBase64String(encryptedData);}}catch (Exception ex){Console.WriteLine("加密失败:" + ex.Message);throw;}}}
}

Java那边的部分代码:

public class Encryption {private static final int MAX_ENCRYPT_BLOCK = 117;public static String symEncrypt(String strkey, String src) throws Exception {String target = null;try {Key key = KeysFactory.getSymKey(strkey);Cipher cipher = Cipher.getInstance("AES/CTR/NoPadding");IvParameterSpec iv = new IvParameterSpec(strkey.substring(0, 16).getBytes());cipher.init(1, key, iv);byte[] encodeResult = cipher.doFinal(src.getBytes(StandardCharsets.UTF_8));target = Base64Util.encryptBASE64(encodeResult);return target;} catch (NoSuchPaddingException | UnsupportedEncodingException | InvalidKeyException | IllegalBlockSizeException| BadPaddingException | NoSuchAlgorithmException var7) {Logger.error(var7);throw new Exception("加密失败" + var7.getMessage());}}public static String pubEncrypt(String pubKey, String src) throws Exception {String target = null;ByteArrayOutputStream out = null;try {Key key = KeysFactory.getPublicKey(pubKey);Cipher cipher = Cipher.getInstance("RSA/ECB/OAEPWithSHA-256AndMGF1Padding");cipher.init(1, key,new OAEPParameterSpec("SHA-256", "MGF1", new MGF1ParameterSpec("SHA-256"), PSpecified.DEFAULT));byte[] data = src.getBytes();int inputLen = data.length;out = new ByteArrayOutputStream();int offSet = 0;for (int i = 0; inputLen - offSet > 0; offSet = i * 117) {byte[] cache;if (inputLen - offSet > 117) {cache = cipher.doFinal(data, offSet, 117);} else {cache = cipher.doFinal(data, offSet, inputLen - offSet);}out.write(cache, 0, cache.length);++i;}target = Base64Util.encryptBASE64(out.toByteArray());} catch (NoSuchPaddingException | InvalidKeyException | IllegalBlockSizeException | BadPaddingException| NoSuchAlgorithmException var14) {Logger.error(var14);throw new Exception("加密失败" + var14.getMessage());} finally {if (out != null) {out.close();}}return target;}
}

http://www.dtcms.com/wzjs/111914.html

相关文章:

  • 班级网站的规划与建设青岛seo建站
  • wordpress创建编辑器可视化按钮我们seo
  • 邯郸建设网站实时新闻最新消息
  • 陕西建设厅网站烟台seo网络推广
  • 中英文双语的网站怎么建设网络推广页面
  • 网络公司免费做网站友情链接代码美化
  • 企业网站开发教学百度资源搜索引擎
  • 各种免费源码共享网站怎么制作网站教程步骤
  • 昆明网站建设价格低友情链接还有用吗
  • 在网上做国际快递淘宝网站策划方案怎么做
  • 齐大胜请于果做网站是第几集百度竞价排名规则及费用
  • 武汉网站营销seo电话百度人工服务热线
  • 微擎如何做网站免费培训课程
  • 陕西网站建设推广网站大全
  • 美容院怎么建立自己的网站品牌营销理论有哪些
  • 网站建设实训的目的谷歌seo快速排名优化方法
  • 江西企业网站建设b2b网站平台有哪些
  • 如何成为 个网站培训心得体会300字
  • php网站开发软件语言如何做网页设计
  • 下载可以做动漫的我的世界视频网站企业网站的优化建议
  • 做企业网站需要建多大的画布全国防疫大数据平台
  • 课程设计报告 网站开发谷歌搜索入口365
  • 怎么做网站可以注册的新闻发稿公司
  • 怎么自己制作一个网站的书源怎么在百度上发布个人文章
  • 网站建设网络推广微信网站疫情优化调整
  • 网龙沧州网站制作2021年度关键词有哪些
  • wordpress外贸网站建站教程网络优化工程师主要负责什么工作
  • 不用域名也可以做网站海口seo快速排名优化
  • 中国最好的网站制作五种新型营销方式
  • 黄冈做网站公司企业seo排名外包