写点什么

Android 4.4 KitKat 和 Secret Key Factory

  • 2014-01-04
  • 本文字数:671 字

    阅读完需:约 2 分钟

随着 Android 4.4 的发布, 开发者需要改变之前通过 SecretKeyFactory 从 Unicode 密码断语中生成对称密钥的方法。如果用户允许使用 Unicode 密码断语,那么这个改变将影响那些使用 PBKDF2WithHmacSHA1 密钥生成算法的程序。

以前的 PBKDF2WithHmacSHA1 算法只是关注密码断语中每个字符的低 8 位。这和由 RSA 实验室 2000 年 9 月发布的 PKCS #5: 基于口令的密码系统规范版本 2.0 相冲突。

由于这是重大的更改,开发者通过使用旧的算法实现向后兼容。这个旧版本已更名为 PBKDF2WithHmacSHA1And8bit,并且可以从 Android 开发者博客中获得其样例代码。

<p>SecretKeyFactory factory;<br></br>if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {<br></br> // Use compatibility key factory -- only uses lower 8-bits of passphrase chars<br></br> factory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1And8bit");<br></br>} else {<br></br> // Traditional key factory. Will use lower 8-bits of passphrase chars on<br></br> // older Android versions (API level 18 and lower) and all available bits<br></br> // on KitKat and newer (API level 19 and higher).<br></br> factory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1");<br></br>}</p>查看英文原文: Android 4.4 KitKat and the Secret Key Factory


感谢张龙对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-01-04 22:341279
用户头像

发布了 81 篇内容, 共 20.5 次阅读, 收获喜欢 2 次。

关注

评论

发布
暂无评论
发现更多内容

百度集团资深副总裁李震宇:Apollo开放平台打造全球最强自动驾驶量产引擎 助力车企造好车

百度大脑

自动驾驶 Apollo

开发也可以如此简单!华为云发布两款开发工具

华为云开发者联盟

云原生 HDC2021 编码工具 SmartAssist

为什么每个程序员都应该了解“康威定律”

soolaugust

编程 架构 设计

合作伙伴眼中的鸿蒙,专访海雀科技研发总监李尹

Geek_283163

linux高性能服务器编程--高性能服务器程序框架

赖猫

Linux 服务器开发 高性能服务器 C/C++后端

Substrate 合约书之合约语言框架

Patract

rust Substrate polkadot Patract Wasm

推荐一个还不错的YouTube视频下载软件

科技猫

软件 视频处理 资源分享 视频下载 youtube

xch挖矿APP开发|xch挖矿系统软件开发

系统开发

chia奇亚分币软件开发|chia奇亚分币APP系统开发

系统开发

为工地装上大脑,落实企业安全管理责任

百度大脑

百度大脑 工地

云原生开发者须具备的1+N技能,开启第二曲线

华为云开发者联盟

DevOps 云原生 HDC2021 华为云DevCloud 企业数字化

Android 关于CPU类型的so文件兼容问题(ABI)

寻找生命中的美好

android native so库 abi so文件

chia奇亚挖矿软件开发|chia奇亚挖矿APP系统开发

系统开发

看从小自带BUFF的他,如何用代码降低万物互联的门槛

华为云开发者联盟

IoT 华为云 iotda 华为开发者大会2021 万物互联

成功入职腾讯大厂 分享我的成功秘籍:10W字复习大纲手册

比伯

Java 架构 程序人生 编程语言 计算机

腾讯云发布“创新成长快线”,首期向创业者赠送10亿分钟实时音视频时长

腾讯云音视频

音视频

系统高可用之健康检查和健康度量那些事

vivo互联网技术

高可用 服务器

分布式消息中间件(2):Kafka系统学习—集群搭建与使用、副本机制和实时日志统计流程

北游学Java

Java kafka 分布式 中间件

JAVA 中 -> 是什么意思?

Sakura

4月日更

刹车失灵,数据的刹车是否也会失灵?

BinTools图尔兹

数据库 运维 dba 数据库管理工具

分布式消息中间件(1):Rabbitmq入门到高可用实战!学会了这个还怕被B站面试官看不起?

北游学Java

Java 分布式 RabbitMQ 中间件

技术干货 | 如何在 Library 中使用/依赖 mPaaS?

蚂蚁集团移动开发平台 mPaaS

Android Studio 移动开发 mPaaS

SpringCloud整合统一异常处理

悟空聊架构

spring SpringCloud Cloud 异常处理 passjava

java单元测试代码自动生成

范晓刚

自动化 单元测试

密码相似性

red

《本人娶刘亦菲的可行性报告》原文

不脱发的程序猿

程序人生

剖析MySQL黑盒——MySQL架构设计

学Java关注我

Java 编程 架构 程序人生 计算机

洞悉MySQL底层架构:一举拿下腾讯美团滴滴offer,持续更新中

欢喜学安卓

android 程序员 面试 移动开发

数据驱动的元数据组件

鲸品堂

方法论 架构设计原则 架构设计实战 数据分析方法论

Android 4.4 KitKat和Secret Key Factory_安全_Jonathan Allen_InfoQ精选文章