3DES加密解密「建议收藏」

3DES加密解密「建议收藏」C#3DES加密解密,JAVA、PHP可用

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

C#3DES加密解密,JAVA、PHP可用

using System;
using System.Security.Cryptography;
using System.Text;

namespace TT.Utilities.Encrypt
{
    public class DES3
    {
        /// <summary>
        /// utf-8编码
        /// 加密模式ECB,填充类型PKCS7
        /// </summary>
        /// <param name="str_content"></param>
        /// <param name="str_keys">24位key</param>
        /// <returns></returns>
        public static string DES3_Encrypt(string str_content, string str_keys)
        #region
        {
            Encoding encoding = Encoding.UTF8;

            byte[] content = encoding.GetBytes(str_content);
            byte[] keys = encoding.GetBytes(str_keys);

            TripleDESCryptoServiceProvider tdsc = new TripleDESCryptoServiceProvider();

            //指定密匙长度,默认为192位
            tdsc.KeySize = 128;
            //使用指定的key和IV(加密向量)
            tdsc.Key = keys;
            //tdsc.IV = IV;
            //加密模式,偏移
            tdsc.Mode = CipherMode.ECB;
            tdsc.Padding = PaddingMode.PKCS7;
            //进行加密转换运算
            ICryptoTransform ct = tdsc.CreateEncryptor();
            //8很关键,加密结果是8字节数组
            byte[] results = ct.TransformFinalBlock(content, 0, content.Length);

            string base64String = Convert.ToBase64String(results);
            return base64String;
        }
        #endregion

        /// <summary>
        /// utf-8编码
        /// 加密模式ECB,填充类型PKCS7
        /// </summary>
        /// <param name="base64_content"></param>
        /// <param name="str_keys">24位key</param>
        /// <returns></returns>
        public static string DES3_Decrypt(string base64_content, string str_keys)
        #region
        {
            Encoding encoding = Encoding.UTF8;

            byte[] content = Convert.FromBase64String(base64_content);
            byte[] keys = encoding.GetBytes(str_keys);

            TripleDESCryptoServiceProvider tdsc = new TripleDESCryptoServiceProvider();

            //指定密匙长度,默认为192位
            tdsc.KeySize = 128;
            //使用指定的key和IV(加密向量)
            tdsc.Key = keys;
            //tdsc.IV = IV;
            //加密模式,偏移
            tdsc.Mode = CipherMode.ECB;
            tdsc.Padding = PaddingMode.PKCS7;
            //进行加密转换运算
            ICryptoTransform ct = tdsc.CreateDecryptor();
            //8很关键,加密结果是8字节数组
            byte[] results = ct.TransformFinalBlock(content, 0, content.Length);

            string oriString = encoding.GetString(results);
            return oriString;
        }
        #endregion
    }
}

 

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

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

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


相关推荐

  • 六种麒麟都是什么麒麟_中标麒麟进入图形界面

    六种麒麟都是什么麒麟_中标麒麟进入图形界面OracleDatabase11.2.0.4.0已在Linuxx86-64NeoKylinLinuxAdvancedServer6上通过认证

    2022年8月10日
    9
  • 实现div里的img图片水平垂直居中

    实现div里的img图片水平垂直居中body结构<body><div><imgsrc="1.jpg"alt="haha"></div></body>方法一:将display设置成table-cell,然后水平居中设置text-align为center,垂直居中设置vertical-align为middle。<styletype="text/css">*{

    2022年5月5日
    58
  • java程序设计实验报告_java程序设计基础实验报告

    java程序设计实验报告_java程序设计基础实验报告前言一般我们写接口自动化的时候,遇到复杂的逻辑,都会调用API方法来满足前置条件,Pytest的特性是无法用例之间相互调动的,我们一般只调用自己封装的API方法。而httprunner支持用例之间

    2022年8月6日
    2
  • soapui的教程

    soapui的教程一.这里我安装的是5.2.1这个版本,安装之后按照我的操作步骤即可二.这里放入后台给你的接口,结尾应该是?wsdl如果没有你需要手动加上,否则会报错三:这个是成功界面四:如图,点开之后是这样的,在1的地方你需要输入对应的参数点击4进行查询,查询成功右侧会有对应的xml数据结果,具体参数需要输入什么,应用场景不同可以去问下后台这篇博客基本结合我的另一篇的ksoap2框架的博客一起使用…

    2022年6月25日
    22
  • ideal21激活码(JetBrains全家桶)

    (ideal21激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~ML…

    2022年3月21日
    166
  • 机械振动论文带有simulink分析的_matlab振动仿真实例

    机械振动论文带有simulink分析的_matlab振动仿真实例1、内容简介1、汽车传动系统的力学模型的讨论2、SIMULINK介绍3、(激励源分析并建立相应的SIMULINK模块)包括发动机动力源模型,行驶工况等4、分析扭振特性5、提出改进手段并比较改进前后系统扭振响应340-可以交流、咨询、答疑2、内容说明汽车动力传动系统是一个具有多自由度的、连续的、有阻尼系统。传动系统的振动主要有横向振动、扭转振动、纵向振动。并且汽车传动系统的扭转振动是一个非常重要的振动形式。当汽车制动、起步、换档时,这些非稳定工况下汽车传动系由于受到非周期的冲击性干扰力而产生的振动。当汽车正

    2022年10月15日
    0

发表回复

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

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