EncryptionConfig
配置内置加密模式和密钥。
Java
public class EncryptionConfig {
public enum EncryptionMode {
AES_128_XTS(1),
AES_128_ECB(2),
AES_256_XTS(3),
SM4_128_ECB(4),
AES_128_GCM(5),
AES_256_GCM(6),
AES_128_GCM2(7),
AES_256_GCM2(8),
MODE_END(9);
private int value;
private EncryptionMode(int v) {
value = v;
}
public int getValue() {
return this.value;
}
}
encryptionMode
内置加密模式。详见 EncryptionMode
。建议使用 AES_128_GCM2
或 AES_256_GCM2
加密模式。这两种模式支持使用盐,安全性更高。
encryptionKey
内置加密密钥,字符串类型,长度无限制。建议使用 32 字节的密钥。
注意: 如果未指定该参数或将该参数设置为 NULL
,则无法启用内置加密,且 SDK 会返回错误码 -2
。
encryptionKdfSalt
盐,长度为 32 字节。建议你在服务端使用 OpenSSL 生成盐。详见《媒体流加密》。
注意: 只有在 AES_128_GCM2
或 AES_256_GCM2
加密模式下,该参数才生效。此时,需确保填入该参数的值不全为 0
。