android DES加密

Android 平台DES加密解密 DES是一个基于56位密钥的对称的加密算法,就是两边的密钥需要一致,在此就不考虑为什么不用安全性更高的AES或者采用非对称加密方法,比如RSA等等;关于密钥空间小,可以使用DES的派生算法3DES来进行加密。DES算法是把64位的明文输入块变成64位的密文输出块,所以这里需要BASE64编解码工具类,加密需要3个参数(Key、Data、Mode) Mode是加密还是解密。 public 阅读详情

/**
 * 提供加密算法,可以对输入的字符串进行加密、解密操作
 */
public class EncryptData {
 private byte[] encryptKey;
 private DESedeKeySpec spec;
 private SecretKeyFactory keyFactory;
 private SecretKey theKey;
 private Cipher cipher;
 private IvParameterSpec IvParameters;

 public EncryptData() {
  try {
   // 检测是否有 TripleDES 加密的供应程序
   // 如无,明确地安装SunJCE 供应程序
   try {
    Cipher c = Cipher.getInstance("DESede");
   } catch (Exception e) {
    System.err.println("Installling SunJCE provider.");
    Provider sunjce = new com.sun.crypto.provider.SunJCE();
    Security.addProvider(sunjce);
   }
   // 创建一个密钥
   encryptKey = "This is a test DESede Key".getBytes();

   // 为上一密钥创建一个指定的 DESSede key
   spec = new DESedeKeySpec(encryptKey);

   // 得到 DESSede keys
   keyFactory = SecretKeyFactory.getInstance("DESede");

   // 生成一个 DESede 密钥对象
   theKey = keyFactory.generateSecret(spec);

   // 创建一个 DESede 密码
   cipher = Cipher.getInstance("DESede/CBC/PKCS5Padding");

   // 为 CBC 模式创建一个用于初始化的 vector 对象
   IvParameters = new IvParameterSpec(new byte[] { 12, 34, 56, 78, 90,
     87, 65, 43 });
  } catch (Exception exc) {
   // 记录加密或解密操作错误
  }
 }

 /**
  * 加密算法
  *
  * @param password
  *            等待加密的密码
  * @return 加密以后的密码
  * @throws Exception
  */
 public byte[] encrypt(String password) {
  String encrypted_password = null;
  byte[] encrypted_pwd = null;

  try {
   // 以加密模式初始化密钥
   cipher.init(Cipher.ENCRYPT_MODE, theKey, IvParameters);

   // 加密前的密码(旧)
   byte[] plainttext = password.getBytes();

   // 加密密码
   encrypted_pwd = cipher.doFinal(plainttext);

   // 转成字符串,得到加密后的密码(新)
   encrypted_password = new String(encrypted_pwd);
  } catch (Exception ex) {
   // 记录加密错误
  }
  return encrypted_pwd;
 }

 /**
  * 解密算法
  *
  * @param password
  *            加过密的密码
  * @return 解密后的密码
  */
 public String decrypt(byte[] password) {
  String decrypted_password = null;
  try {
   // 以解密模式初始化密钥
   cipher.init(Cipher.DECRYPT_MODE, theKey, IvParameters);

   // 构造解密前的密码
   byte[] decryptedPassword = password;

   // 解密密码
   byte[] decrypted_pwd = cipher.doFinal(decryptedPassword);
   // 得到结果
   decrypted_password = new String(decrypted_pwd);
  } catch (Exception ex) {
   // 记录解密错误
  }
  return decrypted_password;
 }

 public static void main(String[] args) {
  EncryptData encryptData = new EncryptData();
  // System.out.println(.getBytes("GBK"),
  // "utf-8");

  byte[] aa = encryptData
    .encrypt("在网络中MD5是著名的不可逆算法,但是如果知道MD5的加密的字符串则可以通过自己的加密算法对明文进行加密,对加密后的密文与字符串匹配;匹配成功,表示找到明文;但是此程序的时间耗费较高!仅提供一个解密的方法!");

 }
}

DES加密解密,Android开发两年 Toast.makeText(mContext, “请输入加密内容”, Toast.LENGTH_SHORT).show();return;break;case R.id.btn_decode://解密Toast.makeText(mContext, “请先加密”, Toast.LENGTH_SHORT).show();return;break;/***///至少16位//DES是加密方式 CBC是工作模式 PKCS5Padding是填充模式。 阅读详情

相关推荐

实现数据安全的DES加密安卓小程序

DES(Data Encryption Standard)是一种广泛使用的对称加密算法,其设计理念是通过复杂的置换和替代操作保证数据的机密性。最初由IBM在1970年代设计,并于1976年被美国政府采纳作为官方的数据加密标准。DES通过使用一个固定的56位长度密钥来加密64位的块数据。加密过程分为多轮复杂的置换和替代操作,每轮使用不同的子密钥,这些子密钥由原始密钥通过移位和选择得到。解密过程则是加密的逆过程,使用相同的密钥但以相反的顺序。

weixin_42418754的博客 455

Android数据加密DES、3DES、AES

在Android开发中,可能会遇到对数据进行加密的情况。典型的对称加密算法有DES、3DES、AES等。 一.DES     DES算法的入口参数有三个:Key、Data、Mode。其中Key为7个字节共56位,是DES算法的工作密钥;Data为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。     DES设计中使用了分组密码设计的两个原则:混淆(

进击的小怪兽 3648

KLayout教程(二)编辑不同的形状

首先画一个基础的矩形,然后双击他可以定义他的坐标

集成光电子 1万+

Android--DES加密解密

概念就不介绍了,自己百度,主要就是三步:创建Cipher对象,初始化Cipher,加密解密 调用DES加密算法包最精要的就是下面两句话: Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding"); cipher.init(Cipher.ENCRYPT_MODE, key, zeroIv); CBC是工作模式,DES一共有电子密...

超宇的博客 2734

新手必看:TwinCAT死活扫不到倍福CX5020?别慌,先检查这3个地方(附静态IP配置)

本文详细介绍了TwinCAT软件无法扫描到倍福CX5020控制器的常见问题及解决方案。从网络连通性检查、系统环境配置到静态IP设置,提供了一套完整的排查流程和优化建议,帮助新手快速解决通信问题,确保设备稳定运行。

weixin_27219587的博客 364

破解雪球网acw_sc__v2加密与无限debugger反爬策略

本文详细解析了雪球网的反爬机制,重点破解了其核心的acw_sc__v2加密参数与无限debugger反调试策略。通过实战案例,从抓包分析、逆向调试到算法还原,提供了完整的Python代码实现,帮助开发者掌握应对类似加密反爬的通用方法。

weixin_29207533的博客 1899

android接口加密实现方案

Fiddler抓包工具配置 android接口如何防抓取 Windows下使用OpenSSL生成RSA证书 文中使用的加密库 1.程序主类 import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.wid...

wangyongqi的博客 4765

DataWorks PyODPS第三方包全攻略:从打包到加载的完整流程

本文详细介绍了在DataWorks的PyODPS节点中使用第三方Python包的完整流程,包括环境限制、打包工具pyodps-pack的使用、资源上传与加载实战,以及特殊场景处理技巧。通过本文,开发者可以掌握在MaxCompute受限环境中灵活使用自定义依赖的方法,提升数据处理效率。

dd012的博客 990

Android安全-对称加密和非对称加密

秘钥:分为加密秘钥和解密秘钥 明文:没有进行加密,能够直接代表原文含义的信息 密文:经过加密处理之后,隐藏原文含义的信息 加密:将明文转换为密文的过程 解密:将密文转换为明文的过程 AES:更快,兼容设备,安全级别高; SHA1:公钥后处理回传 DES:本地数据,安全级别低 RSA:非对称加密,有公钥和私钥

彬子的技术专栏 5838

避开SAM3安装大坑:手把手教你用国内镜像和Modelscope权重快速跑通Demo

本文详细介绍了如何在国内环境下快速部署SAM3视觉大模型,包括使用国内镜像加速Python包安装、通过Modelscope获取权重文件以及解决CUDA 11.8等低版本适配问题。手把手教你避开常见安装陷阱,实现高效Demo运行。

weixin_30642561的博客 1407

把复杂计算推到数据库里:ABAP CDS View Table Function 从原理到落地实践

摘要:本文深入解析ABAP CDS Table Function技术,重点探讨其在复杂业务场景下的应用价值。当CDS View无法满足窗口函数、递归计算等高级需求时,Table Function通过结合CDS类型系统与AMDP的数据库原生计算能力,成为关键解决方案。文章详细介绍了Table Function的架构设计(CDS实体声明+AMDP实现)、客户端处理机制、开发传输流程中的注意事项,并通过航班数据示例展示最小实现闭环。这项技术特别适用于需要将复杂计算下推到数据库层的场景,能显著提升RAP和OData

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2298

Android 网络请求加密

转载请注明出处: http://blog.youkuaiyun.com/aa464971/article/details/51034462 本文以Android客户端加密提交数据到Java服务端后进行解密为例子。 生成RSA公钥和密钥的方法请参考: http://blog.youkuaiyun.com/aa464971/article/details/51035200 Andro

monoCuty的专栏 5386

Flink上传的Jar包去了哪里?大数据

在使用Flink时,我们通常会将应用程序打包成Jar文件并将其上传到Flink集群以执行。总结起来,Flink上传的Jar包实际上会暂时存储在JobManager的本地文件系统中的一个临时目录中。在上传过程中,Flink会将Jar文件存储在JobManager的本地文件系统中的一个临时目录中。一般来说,Flink会在。希望本文对你解答了Flink上传的Jar包去了哪里的疑问,并且能够帮助你更好地理解Flink的工作原理。接下来,我们可以使用Flink命令行工具将Jar文件提交到Flink集群。

AlianBlank的博客 865

Android DES加密解密

网上的demo一搜一大堆,但是,基本上都是一知半解(包括我)。为什么呢?我在尝试分别在两个平台加密的时候,竟然发现Android DES 加密和java DES加密的程序不能互通。就是加密的结果不一样,更不要说Android平台的加密输入作为java DES的解密输出了。这样的话,客户端和服务器端就不能进行通信了。我网上之前也发帖子问了不少人,但是回答都不满意。 今天部门的另外一个同事跟我说了一

yakedar的专栏 7963

第一节:从Chat_Bot 到 AI_Agent——一个范式转换

本文系统剖析了工业级AI代理系统ClaudeCode的设计原理与工程实践。通过对比ChatBot与Agent的三个本质差异:自主循环决策vs单轮应答、环境交互vs纯文本I/O、持久状态管理vs无状态对话,揭示了构建生产级Agent系统的关键挑战。文章详细解析了ClaudeCode的五层架构设计、1800+文件组成的运行时系统,包括工具调度、权限管理、状态持久化等核心机制,并阐述了从简单API调用到完整Agent系统的演进路径。

2201_75869398的博客 68

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Android数据加密之Des加密

前言: 端午节前有个同事咨询我有关Android DES加密的相关实现,简单的实现了一下,今天来总结一下。 其他几种加密方式: Android数据加密之Rsa加密 Android数据加密之Aes加密 Android数据加密之Des加密 Android数据加密之MD5加密 Android数据加密之Base64编码算法...

213

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Android_DES加密,密钥不变

这段时间在研究文件加密,使用DES,贴出代码分享给大家。 package com.example.androidtestdes; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.

王长正的博客 762

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

android des 加密

对称 , 没有随机码(或者是使用系统内部的随机码),加密内容一对一,不会随时改变; 加密key byte lengh = 8 ,不可加长或者变短, 易碰撞破解; 比较简单 ,性能高点; package widget; import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypto.sp...

mxy2002924的专栏 169

Android Des加密

DES加密介绍: DES是一种对称加密算法,所谓对称加密算法即:加密和解密使用相同密钥的算法。DES加密算法出自IBM的研究, 后来被美国政府正式采用,之后开始广泛流传,但是近些年使用越来越少,因为DES使用56位密钥,以现代计算能力, 24小时内即可被破解。 DesUtil常量类介绍 private final static String HEX = "0123456789ABCDEF"; ...

xdy1120的博客 2471

【请求加密】android ios java后台通用DES base64加密

1、OC方面 Base64编码采取Google官方代码 GTMBase64 2、Android 方面采取  Android  android.util.Base64源代码 3、后台Java

dqmj2的博客 3829

DES加密解密,0基础android开发

import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.text.TextUtils; import android.view.View; import android.widget.Button; import android.widget.EditText; i

m0_66264655的博客 276

android des加密传输,android des加密和解密

加密方法:public String encryptDES(String encryptString, String encryptKey) throws Exception {IvParameterSpec zeroIv = new IvParameterSpec(new byte[8]);SecretKeySpec key = new SecretKeySpec(encryptKey.getB...

weixin_36431018的博客 260

Android数据加密之——Des加密

注:本文为转载文章,原文请参考:Android数据加密之Des加密DES加密介绍:DES是一种对称加密算法,所谓对称加密算法即:加密和解密使用相同密钥的算法。DES加密算法出自IBM的研究,后来被美国政府正式采用,之后开始广泛流传,但是近些年使用越来越少,因为DES使用56位密钥,以现代计算能力,24小时内即可被破解。DES加密使用方式:DesUtil常量类介绍private final stat...

我的博客 614

DES 加密 解密 iOS Android PHP

PHP代码 和 iOS 代码 摘自 http://blog.toright.com/posts/2657/ios-objective-c-與-php-des-加解密演算法實作.html 三个平台共用 一个密匙,尽量为8的倍数 1.php代码 <?php /** * PHP DES 加密程式 * * @param $key 密鑰(八個字元內) * @param $encrypt 要加密

eric的博客 3042

Android 平台更加安全的DES加密方式

DES介绍 DES是Data Encryption Standard(数据加密标准)的缩写。它是由IBM公司研制的一种对称密码算法。DES是一个分组加密算法,典型的DES以64位(即8个字节)为分组对数据加密,加密和解密用的是同一个算法。它的密钥长度是56位(因为每个第8 位都用作奇偶校验),密钥可以是任意的56位的数,而且可以任意时候改变。 DES的安全性 DES算法的安全性主要取决于密钥的保密...

Coder蒋的博客 5310
上一篇: android 透明窗体的使用
下一篇: java基础System,RunTime,Date,Math对象
VIPqiangqiang
博客等级 码龄14年 7粉丝 83原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值