mirror of
https://github.com/pgpainless/pgpainless.git
synced 2025-09-11 19:29:39 +02:00
Make Passphrase comparison constant time
This commit is contained in:
parent
729b33a116
commit
176ad09d19
3 changed files with 57 additions and 1 deletions
|
@ -5,6 +5,8 @@
|
|||
package org.pgpainless.util;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.security.InvalidAlgorithmParameterException;
|
||||
|
@ -88,4 +90,18 @@ public class BCUtilTest {
|
|||
|
||||
assertEquals(pubColSize, secColSize);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void constantTimeAreEqualsTest() {
|
||||
char[] b = "Hello".toCharArray();
|
||||
assertTrue(BCUtil.constantTimeAreEqual(b, b));
|
||||
assertTrue(BCUtil.constantTimeAreEqual("Hello".toCharArray(), "Hello".toCharArray()));
|
||||
assertTrue(BCUtil.constantTimeAreEqual(new char[0], new char[0]));
|
||||
assertTrue(BCUtil.constantTimeAreEqual(new char[] {'H', 'e', 'l', 'l', 'o'}, "Hello".toCharArray()));
|
||||
|
||||
assertFalse(BCUtil.constantTimeAreEqual("Hello".toCharArray(), "Hello World".toCharArray()));
|
||||
assertFalse(BCUtil.constantTimeAreEqual(null, "Hello".toCharArray()));
|
||||
assertFalse(BCUtil.constantTimeAreEqual("Hello".toCharArray(), null));
|
||||
assertFalse(BCUtil.constantTimeAreEqual(null, null));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue