Skip to content

Commit c9a62ae

Browse files
Make methods thread safe (#3)
1 parent 1aeda89 commit c9a62ae

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

  • android/crypto/src/main/java/com/coinbase/wallet/crypto/ciphers

android/crypto/src/main/java/com/coinbase/wallet/crypto/ciphers/AES256GCM.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ class AES256GCM {
2222
*
2323
* @return A pair of encrypted data and authTag
2424
*/
25-
fun encrypt(data: ByteArray, key: ByteArray, iv: ByteArray): Pair<ByteArray, ByteArray> {
25+
@Synchronized fun encrypt(data: ByteArray, key: ByteArray, iv: ByteArray): Pair<ByteArray, ByteArray> {
2626
val cipher = Cipher.getInstance(TRANSFORMATION)
2727
val paramSpec = GCMParameterSpec(AUTH_TAG_SIZE, iv)
2828
val keySpec = SecretKeySpec(key, "AES")
@@ -45,7 +45,7 @@ class AES256GCM {
4545
* @return A triple of iv, authTag, and encrypted data
4646
* @throws `EncryptionException.invalidAES256GCMData` if unable to encrypt data
4747
*/
48-
fun encrypt(data: ByteArray, secretKey: SecretKey): Triple<ByteArray, ByteArray, ByteArray> {
48+
@Synchronized fun encrypt(data: ByteArray, secretKey: SecretKey): Triple<ByteArray, ByteArray, ByteArray> {
4949
val cipher = Cipher.getInstance(TRANSFORMATION)
5050

5151
cipher.init(Cipher.ENCRYPT_MODE, secretKey)
@@ -68,7 +68,7 @@ class AES256GCM {
6868
* @return The decrypted data
6969
* @throws`EncryptionError.invalidAES256GCMData` if unable to decrypt data
7070
*/
71-
fun decrypt(data: ByteArray, key: ByteArray, iv: ByteArray, authTag: ByteArray): ByteArray {
71+
@Synchronized fun decrypt(data: ByteArray, key: ByteArray, iv: ByteArray, authTag: ByteArray): ByteArray {
7272
val cipher = Cipher.getInstance(TRANSFORMATION)
7373
val paramSpec = GCMParameterSpec(AUTH_TAG_SIZE, iv)
7474
val keySpec = SecretKeySpec(key, "AES")
@@ -89,7 +89,7 @@ class AES256GCM {
8989
*
9090
* @return A triple of iv, authTag, and encrypted data
9191
*/
92-
fun decrypt(data: ByteArray, secretKey: SecretKey, iv: ByteArray, authTag: ByteArray): ByteArray {
92+
@Synchronized fun decrypt(data: ByteArray, secretKey: SecretKey, iv: ByteArray, authTag: ByteArray): ByteArray {
9393
val cipher = Cipher.getInstance(TRANSFORMATION)
9494
val paramSpec = GCMParameterSpec(AUTH_TAG_SIZE, iv)
9595
val encryptedData = data + authTag

0 commit comments

Comments
 (0)