精华内容
下载资源
问答
  • ASE安卓自带加密

    2016-09-07 15:27:12
    * AES加密器 * * @author Eric_Ni * */ public class AESEncryptor { private final static int JELLY_BEAN_4_2 = 17; /** * AES加密 */ public static String encrypt(String seed, String clear...
    /**
     * AES加密器
     * 
     * @author Eric_Ni
     * 
     */
    public class AESEncryptor {
    	
    	private final static int JELLY_BEAN_4_2 = 17;
    	
    	/**
    	 * AES加密
    	 */
    	public static String encrypt(String seed, String cleartext) throws Exception {
    		byte[] rawKey = getRawKey(seed.getBytes());
    		byte[] result = encrypt(rawKey, cleartext.getBytes());
    		return toHex(result);
    	}
    
    	/**
    	 * AES解密
    	 */
    	public static String decrypt(String seed, String encrypted) throws Exception {
    		byte[] rawKey = getRawKey(seed.getBytes());
    		byte[] enc = toByte(encrypted);
    		byte[] result = decrypt(rawKey, enc);
    		return new String(result);
    	}
    
    	@SuppressLint("TrulyRandom")
    	private static byte[] getRawKey(byte[] seed) throws Exception {
    		KeyGenerator kgen = KeyGenerator.getInstance("AES");
    		SecureRandom sr = null;
    		// 在4.2以上版本中,SecureRandom获取方式发生了改变
    	    if (android.os.Build.VERSION.SDK_INT >= JELLY_BEAN_4_2) {
    	      sr = SecureRandom.getInstance("SHA1PRNG", "Crypto");
    	    } else {
    	      sr = SecureRandom.getInstance("SHA1PRNG");
    	    }
    		
    		sr.setSeed(seed);
    		kgen.init(128, sr); // 192 and 256 bits may not be available
    		SecretKey skey = kgen.generateKey();
    		byte[] raw = skey.getEncoded();
    		return raw;
    	}
    
    	private static byte[] encrypt(byte[] raw, byte[] clear) throws Exception {
    		SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
    		Cipher cipher = Cipher.getInstance("AES");
    		cipher.init(Cipher.ENCRYPT_MODE, skeySpec);
    		byte[] encrypted = cipher.doFinal(clear);
    		return encrypted;
    	}
    
    	private static byte[] decrypt(byte[] raw, byte[] encrypted) throws Exception {
    		SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
    		Cipher cipher = Cipher.getInstance("AES");
    		cipher.init(Cipher.DECRYPT_MODE, skeySpec);
    		byte[] decrypted = cipher.doFinal(encrypted);
    		return decrypted;
    	}
    
    	public static String toHex(String txt) {
    		return toHex(txt.getBytes());
    	}
    
    	public static String fromHex(String hex) {
    		return new String(toByte(hex));
    	}
    
    	public static byte[] toByte(String hexString) {
    		int len = hexString.length() / 2;
    		byte[] result = new byte[len];
    		for (int i = 0; i < len; i++)
    			result[i] = Integer.valueOf(hexString.substring(2 * i, 2 * i + 2), 16).byteValue();
    		return result;
    	}
    
    	public static String toHex(byte[] buf) {
    		if (buf == null)
    			return "";
    		StringBuffer result = new StringBuffer(2 * buf.length);
    		for (int i = 0; i < buf.length; i++) {
    			appendHex(result, buf[i]);
    		}
    		return result.toString();
    	}
    
    	private final static String HEX = "0123456789ABCDEF";
    
    	private static void appendHex(StringBuffer sb, byte b) {
    		sb.append(HEX.charAt((b >> 4) & 0x0f)).append(HEX.charAt(b & 0x0f));
    	}
    }
    
    
    例如:在用户登录时,用账户和密码作为加密
    //AES加密
    String enpwd = AESEncryptor.encrypt(name, password);
    //AES解密
    String pwd = AESEncryptor.decrypt(name, );

    展开全文
  • 自带加密功能的图片浏览器源码打开应用以后会要求输入密码,默认密码admin。同时应用会自动扫描手机内部存储、SD卡存储上面的所有图片文件,并且根据文件夹进行分类列表显示,可以一键更换项目的背景图片。可以直接...
  • 自带加密功能的图片浏览器源码打开应用以后会要求输入密码,默认密码admin。同时应用会自动扫描手机内部存储、SD卡存储上面的所有图片文件,并且根据文件夹进行分类列表显示,可以一键更换项目的背景图片。可以直接...
  • 怎么来实现当访问SD卡文件时,不管是系统自带的浏览器还是第三方浏览器都会调用加密软件,必须完成验证才能访问SD卡文件(否则第三方文件浏览器不需要加密就能访问文件就没有加密的意义了),这个功能实现起来复不...
  • 安卓MD5加密

    2018-11-08 22:01:00
    1.方法还是比较简单,通过MessageDigest.getInstance("MD5")得到一个MessageDigest对象,这个类是Java自带的一个加密类。然后通过调用.digest(byte[])得到了加密后的字节数组。 得到加密后的字节数组后,我们通常要...

    1.方法还是比较简单,通过MessageDigest.getInstance("MD5")得到一个MessageDigest对象,这个类是Java自带的一个加密类。然后通过调用.digest(byte[])得到了加密后的字节数组。 得到加密后的字节数组后,我们通常要把它们转换成16进制式的字符串。

      private String md5(String content){
            byte[]hash;
            try {
                hash = MessageDigest.getInstance("MD5").digest(content.getBytes());
            } catch (NoSuchAlgorithmException e) {
                throw new RuntimeException("NoSuchAlgorithmException",e);
            }
    
            StringBuilder hex = new StringBuilder(hash.length*2);
            for(byte b:hash){
                if((b & 0xFF)< 0x10){
                    hex.append(0);
                }
                hex.append(Integer.toHexString(b & 0xff));
            }
    
            return hex.toString();
        }
    

     

    转载于:https://www.cnblogs.com/x2yblog/p/9932344.html

    展开全文
  • 安卓,登陆加密

    2014-12-01 14:47:41
    在做登陆功能时候,需要对数据进行加密。 ... 要是没有记住密码,MD5搞定加密足够了。 但是,要在在线、离线基础上,加上记住密码,md5就有问题了,因为MD5不可逆,使用记住...就是使用了Java里面自带的两种方法,并简单

    在做登陆功能时候,需要对数据进行加密。

    登陆功能有在线登陆、离线登陆、记住密码三个功能

    要是没有记住密码,MD5搞定加密足够了。

    但是,要在在线、离线基础上,加上记住密码,md5就有问题了,因为MD5不可逆,使用记住密码之后,密码会出错,因为进行了二次加密

    所以,要采用一种可逆的加密算法,即能够加密,也能够解密,这样呢,Base64就出现了。

    就是使用了Java里面自带的两种方法,并简单的封装了一下工具类。

    package com.logis.tool.utils;


    import java.io.UnsupportedEncodingException;


    import Decoder.BASE64Decoder;
    import Decoder.BASE64Encoder;


    public class BASE64 {


    /**
    * BASE64解密
    * @param key
    * @return
    * @throws Exception
    */
    public static String decryptBASE64(String key, String charset) throws Exception {
    return new String((new BASE64Decoder()).decodeBuffer(key), charset);
    }


    /**
    * BASE64解密 默认支持UTF-8

    * @param key
    * @return
    * @throws Exception
    */
    public static String decryptBASE64(String key) throws Exception {
    return decryptBASE64(key, "UTF-8");
    }


    /**
    * BASE64加密 默认加密
    * @param key
    * @return
    * @throws UnsupportedEncodingException
    * @throws Exception
    */


    public static String encryptBASE64(String key, String charset) throws UnsupportedEncodingException {
    return (new BASE64Encoder()).encodeBuffer(key.getBytes(charset));
    }


    /**
    * BASE64加密 默认加密方式UTF-8

    * @param key
    * @return
    * @throws UnsupportedEncodingException
    * @throws Exception
    */


    public static String encryptBASE64(String key) throws Exception {
    return encryptBASE64(key, "UTF-8");
    }


    /*
    * public static void main(String[] args) throws Exception { String data =
    * BASE64.encryptBASE64("我是中文"); System.out.println("加密前:" + data);

    * String byteArray = BASE64.decryptBASE64(data); System.out.println("解密后:"
    * + new String(byteArray)); }
    */


    }

    展开全文
  • 安卓使用BASE64Decoder加密要下载一个BASE64的jar包,直接像java引用系统jdk自带的包会报找不到sun.misc.BASE64Decoder的错误 BASE64Decoder的加密解密工具类 Encrypt.java文件 import sun.misc.BASE64

    java使用BASE64Decoder加密直接引用jdk自带的包就行




    安卓使用BASE64Decoder加密要下载一个BASE64的jar包,直接像java引用系统jdk自带的包会报找不到sun.misc.BASE64Decoder的错误


    BASE64Decoder的加密解密工具类

    Encrypt.java文件

    
    import sun.misc.BASE64Decoder;
    import sun.misc.BASE64Encoder;
    
    public class Encrypt {
    	public Encrypt(){}
    	
    	//MD5调用到的方法
    	public String bytesToHex(byte[] bytes) {
    		StringBuffer md5str = new StringBuffer();
    		for (int i = 0; i < bytes.length; ++i) {
    			int digital = bytes[i];
    
    			if (digital < 0)
    				digital += 256;
    
    			if (digital < 16)
    				md5str.append("0");
    
    			md5str.append(Integer.toHexString(digital));
    		}
    		return md5str.toString().toUpperCase();
    	}
    	
    	/* BASE64解密
    	 * 
    	 * @param key
    	 * @return
    	 * @throws Exception
    	 */
    	public static byte[] decryptBASE64(String key) throws Exception {
    		return (new BASE64Decoder()).decodeBuffer(key);
    	}
    	
    	/**
    	 * BASE64加密
    	 * @param key
    	 * @return
    	 * @throws Exception
    	 */
    	public static String encryptBASE64(byte[] key) throws Exception {
    		 BASE64Encoder encoder = new BASE64Encoder();
    		
    		return encoder.encodeBuffer(key);
    	}
    }

    BASE64Encrypt.java文件
    
    public class BASE64Encrypt {
    
    	/**
    	 * 数据加密方法
    	 * @param code 需要加密的内容
    	 * @return 加密后的数据
    	 */
    	public static String encryptCode(String code){
    		try {
    			Encrypt objEncrypt = new Encrypt();
    			byte[] codeByte = code.getBytes();
    			return objEncrypt.encryptBASE64(codeByte);
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    		return "";
    	}
    	
    	/**
    	 * 数据解密方法
    	 * @param code 填入该算法加密过的内容
    	 * @return 解密后的内容
    	 */
    	public static String deciphering(String code){
    		try {
    			Encrypt objEncrypt = new Encrypt();
    			byte[] deciphering = objEncrypt.decryptBASE64(code);
    			return new String(deciphering);
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    		return "";
    	}
    }
    



    展开全文
  • 这个Doze省电模式是一项Android 6.0里自带的特色功能,能够让应用在一段时间没有使用后进入休眠状态,并且只允许推送消息和在特定时刻同步,通过这个功能可以大幅度延长电池的续航时间。 这里值得一提的是,谷歌...
  • 使用苹果手机里的备忘录可以记录很多重要的事情,使用方便,保存也比较便捷。...一、使用备忘录的“最近删除”文件夹优点:苹果手机备忘录自带的功能,可以直接在手机恢复不小心删除的备忘录缺点:“最近删除”...
  • 最近项目要求做一个录音功能,要可以暂停的,然后对音频进行加密解密,还要根据声音大小做一个自定义的柱形图,废话不多说,下面进行录音功能实现: 项目大概长这样: 设计的思路: 由于自带的AudioRecord没有...
  • 当下很多品牌手机都自带有备忘录,如果想在备忘录上记录内容,打开手机上的APP软件即可快速的记录备忘录内容,操作起来非常的方便、快捷,那么能上锁的备忘录APP应该在哪里找呢?在手机自带的备忘录APP中,有些是...
  • ps:使用openssl库c++ ,java有自带 或者安卓手机系统自带openssl库 QQ ecdh 协议算法生成规则: 初始会有一个默认的49字节长度tk;(一个默认的密钥) 使用曲线为:711; 客户端初始化: 用该曲线生成一对密钥...
  • 酷友们,大家好!计算器是手机中最常见的软件之一了,每台手机都会出厂自带。那么今天说的计算器有什么不一样呢?...加密相册、文件管理等应用加密,自己用起来有比较麻烦。有的手机也会自带保险箱,...
  • 安卓手机相册已自带加密功能,可简单设置自己的密码,但苹果手机确没有这个功能。苹果手机用户怎么保护相册隐私?苹果手机用户怎么给相册加密呢?请按以下步骤操作:1、打开手机的相册,找到想到加密的照片。2、点击...
  • 因为安卓手机相册已自带加密功能,可简单设置自己的密码即可。苹果手机就不一样了,应该大部分苹果用户不知道怎么相册加密。那么我们来说说到底怎么给苹果手机加密相片呢?一、隐藏相片我们先...
  • 安卓手机相册已自带加密功能,可简单设置自己的密码,但苹果手机确没有这个功能。苹果手机用户怎么保护相册隐私?苹果手机用户怎么给相册加密呢?请按以下步骤操作:1、打开手机的相册,找到想到加密的照片。2、点击...
  • 支持各种视频的高速编码加密与高速解码播放,加密后的文件自带解码器和播放器;可以加 密各种视频音频格式文件(wmv,avi,mpg,rm,rmvb,mp4,flv,vob等),加密后的文件可以通 过离线方式授权播放,也可以通过网络方式...
  • 最近总是碰到要求用苹果手机及安卓手机阅读RMS加密文档的需求,经过查找相关文档,得出以下结论: 在目前这个阶段,只有通过国际版的Office365和Azure来实现这个功能是最佳的方案。 如果全部采用国际版Office365...
  • 安卓手机相册已自带加密功能(松了一口气)但是苹果用户没有这个功能,那可怎么办呢?今天我就来帮iphone用户解决这个烦恼,喜欢请点击在看~隐藏照片隐藏相片是苹果手机相册里自带的一个小功能,应该很多苹果用户都...
  • 黑马安卓52期视频教程

    热门讨论 2015-06-24 22:15:48
    01、安卓基础+JNI(14天)-------------------------- day01_Android应用开发-快速入门 01_网络制式的概念 02_android简单历史 03_Android体系结构 04_JVM和DVM的区别 05_下载SDK 06_SDK目录结构 07_模拟器的创建 ...
  • 俺也做几年安卓了,不怕大家笑话,安卓项目中的代码签名成APK上传到市场的时候肯定要被混淆,这个一早就会,但是还是第一次知道自己打的jar包还可以被混淆,知道jar包可以被加密,但是还真不知道安卓中提供给其他方...
  • 因为 android 系统 framework 层也使用了org....使用java自带base64 (java.util.Base64),远端也要同样使用java.util.Base64兼容安卓端 方案二 修改Apache code库的包名 工具:jarjar.jar 下载地址:https://www.jb51
  • DemoRSA.zip

    2019-12-09 14:42:01
    这是一个有对称加密 AES ,非对称加密 RSA, 和KeyStore 安卓自带秘钥库,PBKDF2算法 的一个Demo
  • Demo_encryption.zip

    2019-06-19 11:33:44
    这是一个有对称加密 AES ,非对称加密 RSA, 和KeyStore 安卓自带秘钥库,PBKDF2算法 的一个Demo
  • 因为安卓手机相册已自带加密功能,可简单设置自己的密码即可。苹果手机就不一样了,应该大部分苹果用户不知道怎么相册加密。那么我们来说说到底怎么给苹果手机加密相片呢?一、隐藏相片我们先...
  • autojs哪里想读点哪里

    2021-04-24 20:18:21
    安卓自带语音TTS 悬浮窗 loadsh events.broadcast 代码简介 1. 监听用户点击, 使用的是悬浮窗, 用户点击屏幕, 实际上点到了悬浮窗上 2. 语音有三种 讯飞 百度 手机自带TTS 3. 提取离手指最近的文字块, 先取上面, ...
  • idea+maven搭建SSM框架

    2018-03-20 16:09:02
    idea基于maven搭建SSM框架 JDK1.8 自带逆向生成 自带部分本人使用工具类,如MD5加密 对接安卓返回状态信息等 有问题欢迎密我 QQ 1916172575
  • Delphi开发安卓程序,使用数据库时,调用系统自带sqlite3,是没有加密版的,必须引用三方加密库。这里包含编译好的支持加密的so库,支持128位AES,以及Delphi调用需要的文件和示例,这个源码没有充分测试,如有问题...

空空如也

空空如也

1 2 3
收藏数 46
精华内容 18
关键字:

安卓自带加密