WebService接口数据传输加密「建议收藏」

WebService接口数据传输加密「建议收藏」WebService接口数据传输加密

大家好,又见面了,我是你们的朋友全栈君。

1.加密流程

客服端—>加密文本——>服务端接收到加密文本,通过固定加密密文进行解密,然后做相应处理————>返回结果

2.固定密文创建

密文创建有很多种方式,在这篇文章使用的是从我出生那天到现在毫秒数,当然也可以使用其他。。。

3.实现

首先创建一个 类:SecretServer

 

public class SecretServer
{

/// <summary>
/// 加密
/// </summary>
/// <param name=”encryptStr”></param>
/// <param name=”key”></param>
/// <returns></returns>
public static string TextEncrypt(string encryptStr, string key)
{

var bt = Encoding.Default.GetBytes(encryptStr);
var base64Str = Convert.ToBase64String(bt);
key = EncryptToMD5string(key);
byte[] keyArray = Encoding.UTF8.GetBytes(key);
byte[] toEncryptArray = Encoding.UTF8.GetBytes(base64Str);
RijndaelManaged rDel = new RijndaelManaged();
rDel.Key = keyArray;
rDel.Mode = CipherMode.ECB;
rDel.Padding = PaddingMode.PKCS7;
ICryptoTransform cTransform = rDel.CreateEncryptor();
byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
return Convert.ToBase64String(resultArray, 0, resultArray.Length);
}
/// <summary>
/// 解密
/// </summary>
/// <param name=”decryptStr”></param>
/// <param name=”key”></param>
/// <returns></returns>
public static string TextDecrypt(string decryptStr, string key)
{

key = EncryptToMD5string(key);
byte[] keyArray = UTF8Encoding.UTF8.GetBytes(key);
byte[] toEncryptArray = Convert.FromBase64String(decryptStr);
RijndaelManaged rDel = new RijndaelManaged();
rDel.Key = keyArray;
rDel.Mode = CipherMode.ECB;
rDel.Padding = PaddingMode.PKCS7;
ICryptoTransform cTransform = rDel.CreateDecryptor();
byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
var td = UTF8Encoding.UTF8.GetString(resultArray);
var str = Convert.FromBase64String(td);
var sd = Encoding.Default.GetString(str);
return sd;
}
public static byte[] EncryptToMD5(string str)
{

MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
byte[] str1 = System.Text.Encoding.UTF8.GetBytes(str);
byte[] str2 = md5.ComputeHash(str1, 0, str1.Length);
md5.Clear();
(md5 as IDisposable).Dispose();
return str2;
}
public static string EncryptToMD5string(string str)
{

byte[] bytHash = EncryptToMD5(str);
string sTemp = “”;
for (int i = 0; i < bytHash.Length; i++)
{

sTemp += bytHash[i].ToString(“X”).PadLeft(2, ‘0’);
}
return sTemp.ToLower();
}

}

转载于:https://www.cnblogs.com/zisai/p/7235069.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106763.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vmware linux安装_vm如何安装系统

    vmware linux安装_vm如何安装系统火眼发布Windows渗透工具包(CommandoVM)包含140个渗透工具工具下载地址:github.com/fireeye/commando-vmKaliLinux已成为攻击型安全专家的标配工具,但对需要原生Windows功能的渗透测试员来说,维护良好的类似工具集却是不存在的。安全服务公司火眼就是要改变这一现状。3月28日,该公司发布了一个包含超过140个开源Windows工具的…

    2022年10月1日
    1
  • ComboBoxEdit设置选项值(单选 多选)

    网上搜索的例子加自己的一点点补充lookupedit设置选项值:checkedComboBoxEdit设置选项值:补充:checkedComboBoxEdit多选设置反绑定重

    2021年12月24日
    50
  • win10笔记本电脑双系统 安装黑苹果系统macOS 小白黑苹果乐园下载资源简便安装黑苹果方式,非常详细,还有资源![通俗易懂]

    win10笔记本电脑双系统 安装黑苹果系统macOS 小白黑苹果乐园下载资源简便安装黑苹果方式,非常详细,还有资源![通俗易懂]马上就要考研咯,今天还是作死研究安装了下黑苹果,罪恶感啊言归正传,接下来将献上我的黑苹果教程首先呢第一步下载你所需要的macOS系统,地址如下https://imac.hk/category/macos/这里也有我的几个保存在百度网盘里的黑苹果乐园的系统(1)macOSHighSierra10.13.6(17G65)Clover2.4kr4596黑苹果原…

    2022年6月7日
    41
  • pytest的使用_java中方法的调用

    pytest的使用_java中方法的调用Pytest执行用例规则Pytest在命令行中支持多种方式来运行和选择测试用例1.对某个目录下所有的用例pytest2.对模块中进行测试pytesttest_mod.py3.对文件夹进行

    2022年7月29日
    9
  • 用java web实现聊天室_java web实现简单聊天室「建议收藏」

    用java web实现聊天室_java web实现简单聊天室「建议收藏」目标servlet、jsp实现简单聊天室,用户通过浏览器登录后进入聊天室,可发送消息进行群聊,点击聊天信息框中的用户名可实现拍一拍功能。基础知识数据的存取setAttribute/getAttributerequest请求对象:有效时间短ServletContext上下文对象:一直存在于服务器,存储公有、共享数据Session会话对象:独立网站默认页面一般是index.jsp实现思路1….

    2022年6月22日
    42
  • jpeg图像压缩算法流程详解_图像压缩最快算法

    jpeg图像压缩算法流程详解_图像压缩最快算法JPEG是Joint Photographic Exports Group的英文缩写,中文称之为联合图像专家小组。该小组隶属于ISO国际标准化组织,主要负责定制静态数字图像的编码方法,即所谓的JPEG算法。JPEG专家组开发了两种基本的压缩算法、两种熵编码方法、四种编码模式。如下所示:压缩算法:(1)有损的离散余弦变换DCT(Discrete Cosine Transform)(2)无

    2025年7月6日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号