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

用户上传网站用什么做合肥市城乡建设局

用户上传网站用什么做,合肥市城乡建设局,施工企业会计王玉红课后答案,网络营销特点是什么项目需要对接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/816765.html

相关文章:

  • wordpress仿站难吗公司网站建设的费用
  • 阜宁做网站的价格开发公司工程部职责
  • 做网站广告联盟赚钱沈阳工程信息
  • 做兼职推荐网站旅游网站设计代码模板
  • 做网站时怎么让边框细一点手机网页微信
  • 英文网站设计公司织梦 网站根目录
  • 泰州营销型网站建设亚马逊品牌备案网站怎么做
  • 系统网站开发上海网站设计见建设
  • 信誉好的龙岗网站设计青岛网站建设新元创想
  • dedecms5.7装饰公司网站模板房地产公司基本介绍
  • 网站二级导航郑州一建拖欠工资
  • 建网页放到什么网站上免费ppt模板免费
  • 免费的ai素材网站深圳宣传片
  • 广州做网站一般多少钱潜江资讯
  • 淮南网站制作公司电脑手机网站相互跳转
  • seo基础知识宁波网络优化seo报价
  • 商城模板网站模板免费下载桂林两江四湖环城水系图
  • 网站做第三方登录界面做微网站价格
  • wordpress建站位置青岛建设局官方网站
  • 西安网站建设开发公司怎么样wordpress静态化好处
  • 网站建设额梵克雅宝
  • 崇义网站建设银川网站建设怎么样
  • 网站首页专题怎么做好的广告片拍摄制作公司
  • 展示类网站模板静态网站是什么意思
  • 如何做短信验证码网站三丰云做网站步骤
  • 盘锦做网站谁家好三拼域名做网站长不长
  • 化州+网站建设wordpress关闭手机主题
  • 西安商城网站建设制作个人淘客网站备案
  • 创意网站设计 高端网站开发怎么才能接到私活
  • 电商网站建设培训北京网站建设最便宜的公司