Des解密 以及 将。net的DEs加密 用android 的DES解密

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情
.net加密   
/// <summary>
        /// 3DES 加密
        /// </summary>
        /// <param name="input"></param>
        /// <param name="key">密钥(长度24字符)</param>
        /// <param name="coding">Encoding 编码格式</param>
        /// <returns></returns>
        public static string Des3Encrypt(this string input, string key, Encoding coding = null)
        {
            try
            {
                if (coding == null)
                {
                    coding = Encoding.UTF8;
                }
                var data = coding.GetBytes(input);
                var des = new TripleDESCryptoServiceProvider
                {
                    Key = coding.GetBytes(key),
                    Mode = CipherMode.ECB,
                    Padding = PaddingMode.PKCS7
                };
                var cryp = des.CreateEncryptor();
                return Convert.ToBase64String(cryp.TransformFinalBlock(data, 0, data.Length));
            }
            catch
            {
                return null;
            }
        }
android  解密
/**
 * ECB解密,不要IV
 *
 * @param key
 *            密钥
 * @param data
 *            Base64编码的密文
 * @return 明文
 * @throws Exception
 */
public static byte[] ees3DecodeECB(byte[] key, byte[] data)
        throws Exception {
    Key deskey = null;
    DESedeKeySpec spec = new DESedeKeySpec(key);
//用这个DESKeySpec s = new DESKeySpec(key.getBytes())获取失败  不知道原因
    SecretKeyFactory keyfactory = SecretKeyFactory.getInstance("desede");    deskey = keyfactory.generateSecret(spec);    Cipher cipher = Cipher.getInstance("desede" + "/ECB/PKCS7Padding");    cipher.init(Cipher.DECRYPT_MODE, deskey);    byte[] bOut = cipher.doFinal(data);    return bOut;}
方法调用
byte[] bytes =  Base64.decode(src);// 这个base64用的是org.common.util的base64.


String aa =new String(Des3Decrypt(src,key));


还有一种 我没有用到的cbc
  1.  public static String decryptDES(String decryptString, String decryptKey) throws Exception {  
  2.         byte[] byteMi = new Base64().decode(decryptString);  
  3.         IvParameterSpec zeroIv = new IvParameterSpec(iv);  
  4. //      IvParameterSpec zeroIv = new IvParameterSpec(new byte[8]);  
  5.         SecretKeySpec key = new SecretKeySpec(decryptKey.getBytes(), "DES");  
  6.         Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding");  
  7.         cipher.init(Cipher.DECRYPT_MODE, key, zeroIv);  
  8.         byte decryptedData[] = cipher.doFinal(byteMi);  
  9.        
  10.         return new String(decryptedData);  
  11.     }  
Android常用加解密算法 数据安全,不管是对于企业还是个人都是十分重要。而作为一个移动开发者,我们更需要去考虑数据传输的安全性,去保护企业及个人信息安全。在Java,Android语言中,有许多的常用加解密算法,例如:对称加密算法AES,DES,3DES,非对称加密算法RSA,经典哈希算法MD5,SHA. 对称加密算法:加密秘钥和解密秘钥相同 例:AES,DES,3DES 非对称加密算法:有公钥和秘钥,公钥加密 阅读详情

相关推荐

Android与Java服务端加密解密

本篇博客是使用Android端与Java服务端交互——SocketIO中的通信方式连接Android客户端和java服务器端的。如果对这方面没有了解过的,可以随意去看看;如果对这方面没有需求或者只关心加密操作的同志请继续。在Android端做数据加密操作以前在做毕业设计的时候就想把这个功能加进去,奈何时间有限,知识有限再加上这个需求并没有那么迫切,时间一长就没有继续纠缠下去了。现如今,项目中要求加上

u011160994的专栏 5386

Android数据加密Des加密

前言:  有个同事咨询我有关Android DES加密的相关实现,简单的实现了一下,今天来总结一下。  其他几种加密方式:  •Android数据加密之Rsa加密  •Android数据加密之Aes加密  •Android数据加密Des加密  •Android数据加密之MD5加密  •Android数据加密之Base64编码算法  •Android数据加密之SHA安全散列算法  DES加密介绍:       DES是一种对称加密算法,所谓对称加密算法即:加密解密使用相同密钥的算法。DES加密算法出自IBM的研究, 后来被美国政府正式采用,之后开始广泛流传,但是近些年使用越来越少,因为D

Android中使用DES算法进行文件加密解密编程

本篇文章将详细介绍如何在Android中使用DES算法进行文件加密解密,并提供相应的源代码。通过导入相关的类和库,并编写相应的加密解密方法,我们可以轻松地实现文件的加密解密功能。请注意,为了保证安全性,你应该妥善保管加密密钥,并避免将其硬编码在代码中。该方法与加密方法类似,同样创建输入流和输出流,并根据提供的密钥生成一个。方法,可以将指定的文件进行加密,并将加密后的文件保存到指定的位置。方法,可以对加密的文件进行解密,并将解密后的文件保存到指定的位置。表示加密后的文件输出路径,表示待加密的文件路径,

2301_79331328的博客 555

Android与其他系统间DES加密解密的处理经验

在软件开发中,各系统间经常要进行数据交互,基于安全考虑都会进行数据加密。 由于不同的开发环境,编程语言导致加密解密经常出现问题。 我在开发Android与C#程序之间的数据交互时也遇到了这个问题,现将处理经验与大家分享一下。 C#系统采用DES加密字符串,AndroidDES解密就是不成功,从网上搜了许多源码都不能用,深入研究加密流程及算法是没有时间的。 网上搜的源码大都使用系统默认的加密模式,当我们对这些参数不了解时,就会浪费许多时间并且找不同解决的途径。 以下这行代码为Android加密的核心语句: Cipher cipher = Cipher.getInstance( "DES/ECB/NoPadding" ); //注意加密参数 其中的参数含义为:DES加密算法,ECB为加密模式,NoPadding为填充模式 加密结果示例: 密钥:12345678,明文:12345678, 密文:96d0028878d58c89 密钥:12345678,明文:1234567890, 密文:96d0028878d58c89921a7d2a7820f246

Android 项目必备(二十七)-->加密解密

在对称加密算法中,双方使用的密钥相同,要求解密方事先必须知道加密密钥。这类加密算法技术较为成熟,加密效率高。 - 在非对称加密算法中,收发双方使用不同的密钥,发方使用公开密钥对消息进行加密,收发使用私有密钥机型解密,保密性更高,但效率更低。

Kevin Learn Android 2323

Android对称加密 DES加密解密(倾情解说版)

等下会再写一篇基于以上内容的 鸿蒙版的DES解密>>>

qq_34081612的博客 559

.net / java /安卓des加密互通

一 、 C#.net /// <summary> /// 加密数据 /// </summary> /// <param name="Text"></param> /// <param name="sKey">...

weixin_30451709的博客 66

vb代码转android,从VB.NET转换加密算法为Java(Android版)

我使用下面的算法来加密解密在VB.NET字符串和想做同样的方法在Android中也。谁能告诉我,类似的算法为Android(Java)的从VB.NET转换加密算法为Java(Android版)加密:Private Function decryptStr(ByVal key As String, ByVal enc As String) As StringTryDES.Key = Hash.Com...

weixin_39861624的博客 382

android和.net webservice中的DES加密算法

也是看了一堆的例子,本身并不会写加密算法,好在只要会用就行了,我们把在app中使用的参数加密,然后在.net端的webservice中进行解密,本身并没有什么问题,但是android下和.net下的des加密算法有些不同,写下供以后使用. android端的DES. public class DES { private static byte[] iv = { 1, 2, ...

weixin_30341735的博客 83

C#/IOS/Android通用加密解密方法

公司在做移动端ios/android,服务器提供接口使用的.net,用到加密解密这一块,也在网上找了一些方法,有些是.net加密android解密不了,或者反之。下面的是三个平台都可以加密解密的方法。加密解密中用到的key="1234578";在调取方法时传值即可。 C#代码 #region 跨平台加解密(c#) /// /// 对字符

林涵宇的博客 1692

C#/iOS/Android通用加密解密方法

公司在做移动端iOS/Android,服务器提供接口使用的.net,用到加密解密这一块,也在网上找了一些方法,有些是.net加密Android解密不了,或者反之。下面的是三个平台都可以加密解密的方法。加密解密中用到的key="1234578";在调取方法时传值即可。 C#代码      #region 跨平台加解密(c#) /// <summa...

baji615346的专栏 207

android des加密解密 demo

这个项目是用androidstudio工具编写的,里面包含原项目和apk,这个apk实现了des加密解密的功能。

.net 安卓IOS跨平台des解密双向的(可以互相加解密

1 #region 跨平台加解密(c# 安卓 IOS) 2 3 // public static string sKey = "12345678"; 4 5 // /// 6 7 // /// 解密 8 9 // /// 10 11 // /// ...

weixin_30559481的博客 146

Android和.NET通用的DES算法

Android和.NET通用的DES算法 /** * DES算法理论 本世纪五十年代以来,密码学研究领域出现了最具代表性的两大成就。其中之一就是1971年美国学者塔奇曼 (Tuchman)和麦耶(Meyer)根据信息论创始人香农(Shannon)提出的「多重加密有效性理论」创立的,后於1977年由美国国家标準局颁布的数据加密标準。 DES密码实际上是Lucifer密码的进一步发展。它是一种採用传

cpcpc的专栏 2714

AndroidDES加密解密

我写了一个工具类 如下  是类的结构 加密的代码如下 这个地方注意 DESKeySpec desKeySpec和IvParameterSpec iv 我用的是同一个字符串key.getBytes("UTF-8")设置的。 (.net有时是设置不同的。)

qq_36095812的博客 372
上一篇: vitamio的横竖屏 以及控制器的位置
下一篇: 磁盘占用过高
windyyi
博客等级 码龄9年 1粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值