android keystore 存储,在Android中使用KeyStore存储密钥
我正在使用KeyStore保护我的私钥,但是在以下行中:
FileOutputStream fos = ctx.openFileOutput("bs.keystore", Context.MODE_PRIVATE);
被执行,我有这个异常:
'java.lang.NullPointerException'.
我不明白问题出在哪里。
码:
private Context ctx;
public DataSec(Context ctx)
{
ctx = this.ctx;
}
public void genKey() throws Exception
{
SecretKey key = KeyGenerator.getInstance("AES").generateKey();
KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
ks.load(null, "clavedekey".toCharArray());
PasswordProtection pass = new PasswordProtection("fedsgjk".toCharArray());
KeyStore.SecretKeyEntry skEntry = new KeyStore.SecretKeyEntry(key);
ks.setEntry("secretKeyAlias", skEntry, pass);
FileOutputStream fos = ctx.openFileOutput("bs.keystore", Context.MODE_PRIVATE);
ks.store(fos, "clavedekey".toCharArray());
fos.close();
}
谢谢您的帮助!
android keystore 存储,在Android中使用KeyStore存储密钥相关推荐
- c语言中负数的读取和存储,C语言中负数的存储方式
详细介绍负数的文章: https://blog.csdn.net/daiyutage/article/details/8575248 1.以char类型举例,其取值范围是 -128 ~ 127,即-2 ...
- java存储数据_Java中六种数据存储方式
存储数据 1.寄存器(register).这是最快的存储区,因为它位于不同于其他存储区的地方--处理器内部.但是寄存器的数量极其有限,所以寄存器由编译器根据需求进行分配.你不能直接控制,也不能在程序中 ...
- java float存储方式_Java中小数的存储方式
因为底层的二进制数不能精确表示所有的小数.有时候会产生让人觉得莫名其妙的事情. 如在java中, 0.99999999f==1f//true 0.9f==1f //false 要明白这些,首先要搞清楚 ...
- android以ini文件形式保存在内部存储_彻底了解android中的内部存储与外部存储
打开手机设置,选择应用管理,选择任意一个App,然后你会看到两个按钮,一个是清除缓存,另一个是清除数据,那么当我们点击清除缓存的时候清除的是哪里的数据?当我们点击清除数据的时候又是清除的哪里的数据?读 ...
- android qq存储方式,android(5)(模拟QQ登录,文件存储,SD卡存储,SharedPreferences存储)...
模拟QQ登录(记录账号和密码): 1.文件存储到文件中: /** * 文件存储 *@author Administrator * */ public class Utils { /** * 保存用户信 ...
- java变量存储位置_java 中变量存储位置的区别
[原文] 1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制. 2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量 ...
- java栈存储_【转载】Java中的数据存储(堆、栈、常量池)
1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制. 2.栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串 ...
- C#中的类型~存储~变量
欢迎您成为我的读者,希望这篇文章能给你一些帮助. 前言 今天在群里看到朋友讨论把粉丝称为读者,这让我内心特别激动. 以前我还是比较关注自己的文章阅读量,有没有人转发,今天新增多少个关注.而现在,我的关 ...
- mysql数据库应用模式与特点_MySQL存储引擎的实际应用以及对MySQL数据库中各主要存储引擎的独特特点的描述...
MySQL存储引擎的实际应用以及对MySQL数据库中各主要存储引擎的独特特点的描述: 1.MySQL有多种存储引擎: MyISAM.InnoDB.MERGE.MEMORY(HEAP).BDB(Berk ...
- python——函数(定义函数、传递实参、返回值、传递列表、传递任意数量的实参、将函数存储在模块中、函数编写指南)
目录 定义函数 传递实参 返回值 传递列表 传递任意数量的实参 将函数存储在模块中 函数编写指南 定义函数 #------定义函数---------- def user():print('hello! ...
最新文章
- Learning React Native笔记
- 白话Elasticsearch27-深度探秘搜索技术之误拼写时的fuzzy模糊搜索技术
- ad network
- 登录id 黑苹果_黑苹果MacOSCatalina无法登录AppStore修复
- Codeforces Round #702 (Div. 3)解题报告
- 重置studio 3T 14天试用
- struts1.3.8与hibernate3.2.5整合所遇到的问题
- 从0 开始 WPF MVVM 企业级框架实现与说明 ---- 第十讲 WPF 系统MainWindow
- JS通过ajax动态读取xml文件内容
- 一份来自亚马逊技术专家的Google面试指南,GitHub收获9.8万星,已翻译成中文
- wireshark过滤指定ip的数据包
- html生成jsessionid,jsessionid是什么
- 科罗拉多州立大学计算机科学,科罗拉多州立大学
- linux网络配置文件,Linux下一块网卡设置多个IP地址
- 点计算机无桌面图标,电脑桌面没有任何图标并且点鼠标右键没反应 - 卡饭网
- ROS之velodyne
- 备案注销申请表_怎么注销单个网站备案?
- 中国菜刀使用(实战正确姿势)
- 5.前端CSS之基本属性(长宽,字体,文体,背景图片,阴影,border画圆,display)
- svn cleanup svn: E000002: Can't change perms of file 'xxx' : No such file or directory