crypto - 安全算法
钛极OS(TiJOS)提供了常用的安全算法用于数据加解密,数据摘要,签名验证等操作,支持的算法包括:
- 3DES
- AES
- MD5/SHA1/SHA256/SHA384/SHA512
- HMAC
- RSA/ECDSA
等等
在使用算法前需要明确将使用的算法模式补齐方式等等才能正确进行数据加解密
Java包
tijos.security.crypto
主要算法类
Key
密钥, 用于数据加解密
KeyBuilder
创建指定算法和密钥长度创建Key
Cipher
加解密算法, 基于Key进行加解密处理
Mac
HMAC算法
MessageDigest
消息摘要算法 (HASH)
使用说明
数据加解密
基本流程
- 创建Key对象 KeyBuilder.buildKey
- 设置Key值 setKey
- 指定算法和密钥长度创建加解密对象 Cipher.getInstance
- 加解密初始化 init
- 加解密数据 update
- 加解密完成 final
- 销毁Key destroy
调用流程如下
...
AES数据加密例程
//使用算法及密钥长度构建密钥
Key chipKey = KeyBuilder.buildKey(KeyBuilder.ALG_TYPE_AES, KeyBuilder.LENGTH_AES_128);
byte [] key = Formatter.hexStringToByte("2b7e151628aed2a6abf7158809cf4f3c");
//设置密钥值
chipKey.setKey(key;
//使用加密模式及补齐模式构建加密算法对象
Cipher cipherEncrypt = Cipher.getInstance(Cipher.CIPHER_AES_ECB, Cipher.PADDING_NONE);
//使用密钥初始化算法 无IV
cipherEncrypt.init(chipKey, Cipher.MODE_ENCRYPT);
byte [] plain= Formatter.hexStringToByte("6bc1bee22e409f96e93d7e117393172a");
//对数据进行加密
byte [] cipher = new byte[plain.length];
//加解数据并返回密文
byte [] CIPHER = cipherEncrypt.doFinal(plain, 0, plain.length);