From ebcd3fd4450f65c29ed154ae6fc45a97609bc4a3 Mon Sep 17 00:00:00 2001 From: Eric Biggers Date: Thu, 28 Jul 2022 19:24:55 +0000 Subject: Simplify passwordToHistoryHash() When processing the password and salt, just use update() instead of concatenating them into an array. No change in behavior, as verified by LockscreenCredentialTest.testPasswordToHistoryHash(). Test: atest LockscreenCredentialTest Change-Id: I92e240dbe4df6c30fe35444b1452bb003421243b --- core/java/com/android/internal/widget/LockscreenCredential.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/core/java/com/android/internal/widget/LockscreenCredential.java b/core/java/com/android/internal/widget/LockscreenCredential.java index 40164a45516e..6bde5e690483 100644 --- a/core/java/com/android/internal/widget/LockscreenCredential.java +++ b/core/java/com/android/internal/widget/LockscreenCredential.java @@ -278,11 +278,8 @@ public class LockscreenCredential implements Parcelable, AutoCloseable { try { MessageDigest sha256 = MessageDigest.getInstance("SHA-256"); sha256.update(hashFactor); - byte[] saltedPassword = Arrays.copyOf(passwordToHash, passwordToHash.length - + salt.length); - System.arraycopy(salt, 0, saltedPassword, passwordToHash.length, salt.length); - sha256.update(saltedPassword); - Arrays.fill(saltedPassword, (byte) 0); + sha256.update(passwordToHash); + sha256.update(salt); return new String(HexEncoding.encode(sha256.digest())); } catch (NoSuchAlgorithmException e) { throw new AssertionError("Missing digest algorithm: ", e); -- cgit v1.2.3-59-g8ed1b