FEncryptionConfig
- Unreal Blueprint
更新时间不可用
配置内置加密模式和密钥。
USTRUCT(BlueprintType)
struct FEncryptionConfig
{
GENERATED_BODY()
public:
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncryptionConfig")
EENCRYPTION_MODE encryptionMode = EENCRYPTION_MODE::AES_128_GCM;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncryptionConfig")
FString encryptionKey = "";
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncryptionConfig")
FString encryptionKdfSalt = "";
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncryptionConfig")
bool datastreamEncryptionEnabled = false;
FEncryptionConfig(){}
FEncryptionConfig(const agora::rtc::EncryptionConfig & AgoraData){
encryptionMode = static_cast<EENCRYPTION_MODE>(AgoraData.encryptionMode);
encryptionKey = UTF8_TO_TCHAR(AgoraData.encryptionKey);
char valencryptionKdfSalt[32] = {0};
int AgoraCount = 32;
for (int i = 0; i < AgoraCount; i++) {
encryptionKdfSalt[i] = AgoraData.encryptionKdfSalt[i];
}
encryptionKdfSalt = valencryptionKdfSalt;
datastreamEncryptionEnabled = AgoraData.datastreamEncryptionEnabled;
}
agora::rtc::EncryptionConfig CreateAgoraData() const {
agora::rtc::EncryptionConfig AgoraData;
AgoraData.encryptionMode = static_cast<agora::rtc::ENCRYPTION_MODE>(encryptionMode);
SET_UABT_FSTRING_TO_CONST_CHAR___MEMALLOC(AgoraData.encryptionKey,this->encryptionKey)
std::string StdencryptionKdfSalt = TCHAR_TO_UTF8(*encryptionKdfSalt);
int AgoraCount = 32;
for (int i = 0; i < AgoraCount; i++) {
if(i >= StdencryptionKdfSalt.size()){
break;
}
AgoraData.encryptionKdfSalt[i] = StdencryptionKdfSalt[i];
}
AgoraData.datastreamEncryptionEnabled = datastreamEncryptionEnabled;
return AgoraData;
}
void FreeAgoraData(agora::rtc::EncryptionConfig & AgoraData) const {
SET_UABT_FSTRING_TO_CONST_CHAR___MEMFREE(AgoraData.encryptionKey)
}
};属性
| 参数名 | 描述 |
|---|---|
encryptionMode | 内置加密模式。详见 EENCRYPTION_MODE。建议使用 |
encryptionKey | |
encryptionKdfSalt | |
datastreamEncryptionEnabled |