返回顶部
首页 > 资讯 > 移动开发 >快速搞懂Android口令加密(一)
  • 123
分享到

快速搞懂Android口令加密(一)

加密Android 2022-06-06 08:06:49 123人浏览 泡泡鱼
摘要

废话不多说了,直接给大家贴代码了。 import java.util.Random; import javax.crypto.Cipher; import javax.cry

废话不多说了,直接给大家贴代码了。


import java.util.Random;
import javax.crypto.Cipher;
import javax.crypto.SecreTKEy;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.PBEKeySpec;
import javax.crypto.spec.PBEParameterSpec;
public class Token {

//口令加密操作方法
public byte[] cmdEncryptionOperation(String encryptionStr,String pwdStr) throws Exception
{
//读取口令
//将口令转化为字符数组
char[] pwd = pwdStr.toCharArray();
//将加密数组存储至PBEKeySpec对象
PBEKeySpec pbeKeySpec = new PBEKeySpec(pwd);
//由口令生成秘钥
//通过SecretKeyFactory的getinstance方法创建SecretKeyFactory对象,构造参数为加密类型
SecretKeyFactory secretKeyFactory = SecretKeyFactory
.getInstance("PBEWithMD5AndDES");//抛出没找到关键字异常
//通过generateSecret生成口令
SecretKey key = secretKeyFactory.generateSecret(pbeKeySpec);
//生成随机数(盐)
// 创建是8个元素的字节数组的盐
byte[] salt = new byte[8];
//通过Random类的nextbyte方法生成随机数并将随机数赋值给byte数组,参数为byte数组
Random random = new Random();
random.nextBytes(salt);
//创建并初始化密码器
Cipher cipher = Cipher.getInstance("PBEWithMD5AndDES");
PBEParameterSpec parameterSpec = new PBEParameterSpec(salt, 1000);
cipher.init(Cipher.ENCRYPT_MODE, key,parameterSpec);
//获取明文,进行加密
byte[] ptext = encryptionStr.getBytes("UTF-8");
byte[] ctext = cipher.doFinal(ptext);//cipher的dofinal方法进行加密
return ctext;
}
}

使用加密方法:


public static void main(String[] args) throws Exception {
Token token = new Token();
byte[] ctext = token.cmdEncryptionOperation("加QQ群 499092562交流!!","2016/4/5");
FileOutputStream os = new FileOutputStream("PBEEnc.dat");
os.write(ctext);
for (int i = 0; i < ctext.length; i++) {
System.out.print(ctext[i]);
}
}

以上内容是针对Android口令加密的相关介绍,希望对大家有所帮助!

您可能感兴趣的文章:Java加密解密工具(适用于JavaSE/JavaEE/Android)Android实现短信加密功能(发送加密短信、解密本地短信)Android编程之MD5加密算法实例分析Android编程加密算法小结(AES、Base64、RAS加密算法)Android实用图文教程之代码混淆、第三方平台加固加密、渠道分发Android AES加密工具类分享Android之RAS加密算法测试实例Android 加密解密字符串详解android md5加密与rsa加解密实现代码Android数据加密之Des加密详解


--结束END--

本文标题: 快速搞懂Android口令加密(一)

本文链接: https://lsjlt.com/news/25313.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 快速搞懂Android口令加密(一)
    废话不多说了,直接给大家贴代码了。 import java.util.Random; import javax.crypto.Cipher; import javax.cry...
    99+
    2022-06-06
    加密 Android
  • 一篇文章快速搞懂Redis的慢查询分析
    当Redis客户端出现请求超时的时候,需要检查该时间点是否有慢查询,从而分析出由于慢查询导致的命令级联阻塞。 什么是慢查询? 慢查询,顾名思义就是比较慢的查询,但是究竟是哪里慢呢?首先,我们了解一下Re...
    99+
    2017-09-13
    一篇文章快速搞懂Redis的慢查询分析
  • 一文快速搞懂MySQL InnoDB事务ACID实现原理
    【51CTO.com原创稿件】说到数据库事务,想到的就是要么都做修改,要么都不做,或者是 ACID 的概念。其实事务的本质就是锁、并发和重做日志的结合体。 这一篇主要讲一下 InnoDB 中的事务到底是如何...
    99+
    2024-04-02
  • 一文快速搞懂Redis的几种数据类型方式
    目录Redis简介Redis有几种数据类型Redis的基本指令String(字符串)List(列表)Set(集合)Hash(哈希)Zset(sorted set:有序集合)RedisDesktopManager数据查看工...
    99+
    2024-04-02
  • 一文搞懂四种Wrapper方法快速重构你的代码
    Wrapper方法是一种快速重构代码的方法,它可以在不改变原有代码逻辑的情况下,对其进行封装和扩展。以下是四种常见的Wrapper方...
    99+
    2023-09-21
    Wrapper
  • Tampermonkey快速查找JavaScript加密入口的方法
    这篇文章将为大家详细讲解有关Tampermonkey快速查找JavaScript加密入口的方法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在很多情况下,我们可能想要在网页中自动执行某些代码...
    99+
    2023-06-03
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作