.class public Lcom/ironsource/mediationsdk/utils/IronSourceAES; .super Ljava/lang/Object; .source "SourceFile" # direct methods .method public constructor ()V .locals 0 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method private static a(Ljava/lang/String;)Ljavax/crypto/spec/SecretKeySpec; .locals 4 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/UnsupportedEncodingException; } .end annotation const/16 v0, 0x20 new-array v1, v0, [B const/4 v2, 0x0 invoke-static {v1, v2}, Ljava/util/Arrays;->fill([BB)V const-string v3, "UTF-8" invoke-virtual {p0, v3}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B move-result-object p0 array-length v3, p0 if-ge v3, v0, :cond_0 array-length v0, p0 :cond_0 invoke-static {p0, v2, v1, v2, v0}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V new-instance p0, Ljavax/crypto/spec/SecretKeySpec; const-string v0, "AES" invoke-direct {p0, v1, v0}, Ljavax/crypto/spec/SecretKeySpec;->([BLjava/lang/String;)V return-object p0 .end method .method public static declared-synchronized compressAndEncrypt(Ljava/lang/String;)Ljava/lang/String; .locals 2 .line 0 const-class v0, Lcom/ironsource/mediationsdk/utils/IronSourceAES; monitor-enter v0 :try_start_0 invoke-static {}, Lcom/ironsource/xa;->b()Lcom/ironsource/xa; move-result-object v1 invoke-virtual {v1}, Lcom/ironsource/xa;->c()Ljava/lang/String; move-result-object v1 invoke-static {v1, p0}, Lcom/ironsource/mediationsdk/utils/IronSourceAES;->compressAndEncrypt(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object p0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 monitor-exit v0 return-object p0 :catchall_0 move-exception p0 monitor-exit v0 throw p0 .end method .method public static declared-synchronized compressAndEncrypt(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; .locals 2 .line 0 const-class v0, Lcom/ironsource/mediationsdk/utils/IronSourceAES; monitor-enter v0 :try_start_0 invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v1 if-eqz v1, :cond_0 const-string p0, "" :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 monitor-exit v0 return-object p0 :catchall_0 move-exception p0 goto :goto_0 :cond_0 :try_start_1 invoke-static {p1}, Lcom/ironsource/si;->a(Ljava/lang/String;)[B move-result-object p1 if-eqz p1, :cond_1 invoke-static {p0, p1}, Lcom/ironsource/mediationsdk/utils/IronSourceAES;->encodeFromBytes(Ljava/lang/String;[B)Ljava/lang/String; move-result-object p0 :try_end_1 .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1} :catch_0 .catchall {:try_start_1 .. :try_end_1} :catchall_0 monitor-exit v0 return-object p0 :catch_0 move-exception p0 :try_start_2 invoke-static {}, Lcom/ironsource/i9;->d()Lcom/ironsource/i9; move-result-object p1 invoke-virtual {p1, p0}, Lcom/ironsource/i9;->a(Ljava/lang/Throwable;)V sget-object p1, Lcom/ironsource/mediationsdk/logger/IronLog;->INTERNAL:Lcom/ironsource/mediationsdk/logger/IronLog; invoke-virtual {p0}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object p0 invoke-virtual {p1, p0}, Lcom/ironsource/mediationsdk/logger/IronLog;->error(Ljava/lang/String;)V :cond_1 const-string p0, "" :try_end_2 .catchall {:try_start_2 .. :try_end_2} :catchall_0 monitor-exit v0 return-object p0 :goto_0 monitor-exit v0 throw p0 .end method .method public static declared-synchronized decode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; .locals 1 const-class v0, Lcom/ironsource/mediationsdk/utils/IronSourceAES; monitor-enter v0 :try_start_0 invoke-static {p0, p1}, Lcom/ironsource/mediationsdk/utils/IronSourceAES;->decodeToBytes(Ljava/lang/String;Ljava/lang/String;)[B move-result-object p0 if-eqz p0, :cond_0 new-instance p1, Ljava/lang/String; invoke-direct {p1, p0}, Ljava/lang/String;->([B)V :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 monitor-exit v0 return-object p1 :catchall_0 move-exception p0 goto :goto_0 :cond_0 :try_start_1 const-string p0, "" :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_0 monitor-exit v0 return-object p0 :goto_0 monitor-exit v0 throw p0 .end method .method public static declared-synchronized decodeToBytes(Ljava/lang/String;Ljava/lang/String;)[B .locals 5 const-class v0, Lcom/ironsource/mediationsdk/utils/IronSourceAES; monitor-enter v0 :try_start_0 invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v1 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 const/4 v2, 0x0 if-eqz v1, :cond_0 monitor-exit v0 return-object v2 :cond_0 :try_start_1 invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v1 :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_0 if-eqz v1, :cond_1 monitor-exit v0 return-object v2 :cond_1 :try_start_2 invoke-static {p0}, Lcom/ironsource/mediationsdk/utils/IronSourceAES;->a(Ljava/lang/String;)Ljavax/crypto/spec/SecretKeySpec; move-result-object p0 const/16 v1, 0x10 new-array v1, v1, [B const/4 v3, 0x0 invoke-static {v1, v3}, Ljava/util/Arrays;->fill([BB)V new-instance v4, Ljavax/crypto/spec/IvParameterSpec; invoke-direct {v4, v1}, Ljavax/crypto/spec/IvParameterSpec;->([B)V invoke-static {p1, v3}, Landroid/util/Base64;->decode(Ljava/lang/String;I)[B move-result-object p1 const-string v1, "AES/CBC/PKCS7Padding" invoke-static {v1}, Ljavax/crypto/Cipher;->getInstance(Ljava/lang/String;)Ljavax/crypto/Cipher; move-result-object v1 const/4 v3, 0x2 invoke-virtual {v1, v3, p0, v4}, Ljavax/crypto/Cipher;->init(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V invoke-virtual {v1, p1}, Ljavax/crypto/Cipher;->doFinal([B)[B move-result-object p0 :try_end_2 .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_2} :catch_0 .catchall {:try_start_2 .. :try_end_2} :catchall_0 monitor-exit v0 return-object p0 :catchall_0 move-exception p0 goto :goto_0 :catch_0 move-exception p0 :try_start_3 invoke-static {}, Lcom/ironsource/i9;->d()Lcom/ironsource/i9; move-result-object p1 invoke-virtual {p1, p0}, Lcom/ironsource/i9;->a(Ljava/lang/Throwable;)V sget-object p1, Lcom/ironsource/mediationsdk/logger/IronLog;->INTERNAL:Lcom/ironsource/mediationsdk/logger/IronLog; new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V const-string v3, "exception on decryption error: " invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p0}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String; move-result-object p0 invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 invoke-virtual {p1, p0}, Lcom/ironsource/mediationsdk/logger/IronLog;->error(Ljava/lang/String;)V :try_end_3 .catchall {:try_start_3 .. :try_end_3} :catchall_0 monitor-exit v0 return-object v2 :goto_0 monitor-exit v0 throw p0 .end method .method public static declared-synchronized decryptAndDecompress(Ljava/lang/String;)Ljava/lang/String; .locals 2 .line 0 const-class v0, Lcom/ironsource/mediationsdk/utils/IronSourceAES; monitor-enter v0 :try_start_0 invoke-static {}, Lcom/ironsource/xa;->b()Lcom/ironsource/xa; move-result-object v1 invoke-virtual {v1}, Lcom/ironsource/xa;->c()Ljava/lang/String; move-result-object v1 invoke-static {v1, p0}, Lcom/ironsource/mediationsdk/utils/IronSourceAES;->decryptAndDecompress(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object p0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 monitor-exit v0 return-object p0 :catchall_0 move-exception p0 monitor-exit v0 throw p0 .end method .method public static declared-synchronized decryptAndDecompress(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; .locals 2 .line 0 const-class v0, Lcom/ironsource/mediationsdk/utils/IronSourceAES; monitor-enter v0 :try_start_0 invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v1 if-eqz v1, :cond_0 const-string p0, "" :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 monitor-exit v0 return-object p0 :catchall_0 move-exception p0 goto :goto_0 :cond_0 :try_start_1 invoke-static {p0, p1}, Lcom/ironsource/mediationsdk/utils/IronSourceAES;->decodeToBytes(Ljava/lang/String;Ljava/lang/String;)[B move-result-object p0 if-eqz p0, :cond_1 invoke-static {p0}, Lcom/ironsource/si;->a([B)Ljava/lang/String; move-result-object p0 :try_end_1 .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1} :catch_0 .catchall {:try_start_1 .. :try_end_1} :catchall_0 monitor-exit v0 return-object p0 :catch_0 move-exception p0 :try_start_2 invoke-static {}, Lcom/ironsource/i9;->d()Lcom/ironsource/i9; move-result-object p1 invoke-virtual {p1, p0}, Lcom/ironsource/i9;->a(Ljava/lang/Throwable;)V sget-object p1, Lcom/ironsource/mediationsdk/logger/IronLog;->INTERNAL:Lcom/ironsource/mediationsdk/logger/IronLog; invoke-virtual {p0}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object p0 invoke-virtual {p1, p0}, Lcom/ironsource/mediationsdk/logger/IronLog;->error(Ljava/lang/String;)V :cond_1 const-string p0, "" :try_end_2 .catchall {:try_start_2 .. :try_end_2} :catchall_0 monitor-exit v0 return-object p0 :goto_0 monitor-exit v0 throw p0 .end method .method public static declared-synchronized encode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; .locals 2 const-class v0, Lcom/ironsource/mediationsdk/utils/IronSourceAES; monitor-enter v0 :try_start_0 invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v1 if-eqz v1, :cond_0 const-string p0, "" :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 monitor-exit v0 return-object p0 :catchall_0 move-exception p0 goto :goto_0 :cond_0 :try_start_1 invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v1 if-eqz v1, :cond_1 const-string p0, "" :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_0 monitor-exit v0 return-object p0 :cond_1 :try_start_2 const-string v1, "UTF8" invoke-virtual {p1, v1}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B move-result-object p1 invoke-static {p0, p1}, Lcom/ironsource/mediationsdk/utils/IronSourceAES;->encodeFromBytes(Ljava/lang/String;[B)Ljava/lang/String; move-result-object p0 :try_end_2 .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_2} :catch_0 .catchall {:try_start_2 .. :try_end_2} :catchall_0 monitor-exit v0 return-object p0 :catch_0 move-exception p0 :try_start_3 invoke-static {}, Lcom/ironsource/i9;->d()Lcom/ironsource/i9; move-result-object p1 invoke-virtual {p1, p0}, Lcom/ironsource/i9;->a(Ljava/lang/Throwable;)V sget-object p1, Lcom/ironsource/mediationsdk/logger/IronLog;->INTERNAL:Lcom/ironsource/mediationsdk/logger/IronLog; invoke-virtual {p0}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object p0 invoke-virtual {p1, p0}, Lcom/ironsource/mediationsdk/logger/IronLog;->error(Ljava/lang/String;)V const-string p0, "" :try_end_3 .catchall {:try_start_3 .. :try_end_3} :catchall_0 monitor-exit v0 return-object p0 :goto_0 monitor-exit v0 throw p0 .end method .method public static declared-synchronized encodeFromBytes(Ljava/lang/String;[B)Ljava/lang/String; .locals 5 .annotation build Landroid/annotation/SuppressLint; value = { "TrulyRandom" } .end annotation const-class v0, Lcom/ironsource/mediationsdk/utils/IronSourceAES; monitor-enter v0 :try_start_0 invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v1 if-eqz v1, :cond_0 const-string p0, "" :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 monitor-exit v0 return-object p0 :catchall_0 move-exception p0 goto :goto_0 :cond_0 if-nez p1, :cond_1 :try_start_1 const-string p0, "" :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_0 monitor-exit v0 return-object p0 :cond_1 :try_start_2 invoke-static {p0}, Lcom/ironsource/mediationsdk/utils/IronSourceAES;->a(Ljava/lang/String;)Ljavax/crypto/spec/SecretKeySpec; move-result-object p0 const/16 v1, 0x10 new-array v1, v1, [B const/4 v2, 0x0 invoke-static {v1, v2}, Ljava/util/Arrays;->fill([BB)V new-instance v3, Ljavax/crypto/spec/IvParameterSpec; invoke-direct {v3, v1}, Ljavax/crypto/spec/IvParameterSpec;->([B)V const-string v1, "AES/CBC/PKCS7Padding" invoke-static {v1}, Ljavax/crypto/Cipher;->getInstance(Ljava/lang/String;)Ljavax/crypto/Cipher; move-result-object v1 const/4 v4, 0x1 invoke-virtual {v1, v4, p0, v3}, Ljavax/crypto/Cipher;->init(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V invoke-virtual {v1, p1}, Ljavax/crypto/Cipher;->doFinal([B)[B move-result-object p0 invoke-static {p0, v2}, Landroid/util/Base64;->encodeToString([BI)Ljava/lang/String; move-result-object p0 const-string p1, "line.separator" invoke-static {p1}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String; move-result-object p1 const-string v1, "" invoke-virtual {p0, p1, v1}, Ljava/lang/String;->replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object p0 :try_end_2 .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_2} :catch_0 .catchall {:try_start_2 .. :try_end_2} :catchall_0 monitor-exit v0 return-object p0 :catch_0 move-exception p0 :try_start_3 invoke-static {}, Lcom/ironsource/i9;->d()Lcom/ironsource/i9; move-result-object p1 invoke-virtual {p1, p0}, Lcom/ironsource/i9;->a(Ljava/lang/Throwable;)V sget-object p1, Lcom/ironsource/mediationsdk/logger/IronLog;->INTERNAL:Lcom/ironsource/mediationsdk/logger/IronLog; invoke-virtual {p0}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object p0 invoke-virtual {p1, p0}, Lcom/ironsource/mediationsdk/logger/IronLog;->error(Ljava/lang/String;)V const-string p0, "" :try_end_3 .catchall {:try_start_3 .. :try_end_3} :catchall_0 monitor-exit v0 return-object p0 :goto_0 monitor-exit v0 throw p0 .end method .method public static declared-synchronized encrypt(Ljava/lang/String;)Ljava/lang/String; .locals 2 const-class v0, Lcom/ironsource/mediationsdk/utils/IronSourceAES; monitor-enter v0 :try_start_0 invoke-static {}, Lcom/ironsource/xa;->b()Lcom/ironsource/xa; move-result-object v1 invoke-virtual {v1}, Lcom/ironsource/xa;->c()Ljava/lang/String; move-result-object v1 invoke-static {v1, p0}, Lcom/ironsource/mediationsdk/utils/IronSourceAES;->encode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object p0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 monitor-exit v0 return-object p0 :catchall_0 move-exception p0 monitor-exit v0 throw p0 .end method