View | Details | Raw Unified | Return to bug 2611
Collapse All | Expand All

(-)a/src/org/mindrot/jbcrypt/BCrypt.java (-2 / +2 lines)
Lines 661-667 public class BCrypt { Link Here
661
			off = 3;
661
			off = 3;
662
		else {
662
		else {
663
			minor = salt.charAt(2);
663
			minor = salt.charAt(2);
664
			if (minor != 'a' || salt.charAt(3) != '$')
664
			if (!(minor == 'a' || minor == 'b') || salt.charAt(3) != '$')
665
				throw new IllegalArgumentException ("Invalid salt revision");
665
				throw new IllegalArgumentException ("Invalid salt revision");
666
			off = 4;
666
			off = 4;
667
		}
667
		}
Lines 716-722 public class BCrypt { Link Here
716
716
717
		random.nextBytes(rnd);
717
		random.nextBytes(rnd);
718
718
719
		rs.append("$2a$");
719
		rs.append("$2b$");
720
		if (log_rounds < 10)
720
		if (log_rounds < 10)
721
			rs.append("0");
721
			rs.append("0");
722
		if (log_rounds > 30) {
722
		if (log_rounds > 30) {
(-)a/test/org/mindrot/jbcrypt/TestBCrypt.java (-39 / +38 lines)
Lines 25-86 import junit.framework.TestCase; Link Here
25
public class TestBCrypt extends TestCase {
25
public class TestBCrypt extends TestCase {
26
	String test_vectors[][] = {
26
	String test_vectors[][] = {
27
			{ "", 
27
			{ "", 
28
			"$2a$06$DCq7YPn5Rq63x1Lad4cll.",
28
			"$2b$06$DCq7YPn5Rq63x1Lad4cll.",
29
			"$2a$06$DCq7YPn5Rq63x1Lad4cll.TV4S6ytwfsfvkgY8jIucDrjc8deX1s." },
29
			"$2b$06$DCq7YPn5Rq63x1Lad4cll.TV4S6ytwfsfvkgY8jIucDrjc8deX1s." },
30
			{ "",
30
			{ "",
31
			"$2a$08$HqWuK6/Ng6sg9gQzbLrgb.",
31
			"$2b$08$HqWuK6/Ng6sg9gQzbLrgb.",
32
			"$2a$08$HqWuK6/Ng6sg9gQzbLrgb.Tl.ZHfXLhvt/SgVyWhQqgqcZ7ZuUtye" },
32
			"$2b$08$HqWuK6/Ng6sg9gQzbLrgb.Tl.ZHfXLhvt/SgVyWhQqgqcZ7ZuUtye" },
33
			{ "",
33
			{ "",
34
			"$2a$10$k1wbIrmNyFAPwPVPSVa/ze",
34
			"$2b$10$k1wbIrmNyFAPwPVPSVa/ze",
35
			"$2a$10$k1wbIrmNyFAPwPVPSVa/zecw2BCEnBwVS2GbrmgzxFUOqW9dk4TCW" },
35
			"$2b$10$k1wbIrmNyFAPwPVPSVa/zecw2BCEnBwVS2GbrmgzxFUOqW9dk4TCW" },
36
			{ "",
36
			{ "",
37
			"$2a$12$k42ZFHFWqBp3vWli.nIn8u",
37
			"$2b$12$k42ZFHFWqBp3vWli.nIn8u",
38
			"$2a$12$k42ZFHFWqBp3vWli.nIn8uYyIkbvYRvodzbfbK18SSsY.CsIQPlxO" },
38
			"$2b$12$k42ZFHFWqBp3vWli.nIn8uYyIkbvYRvodzbfbK18SSsY.CsIQPlxO" },
39
			{ "a",
39
			{ "a",
40
			"$2a$06$m0CrhHm10qJ3lXRY.5zDGO",
40
			"$2b$06$m0CrhHm10qJ3lXRY.5zDGO",
41
			"$2a$06$m0CrhHm10qJ3lXRY.5zDGO3rS2KdeeWLuGmsfGlMfOxih58VYVfxe" },
41
			"$2b$06$m0CrhHm10qJ3lXRY.5zDGO3rS2KdeeWLuGmsfGlMfOxih58VYVfxe" },
42
			{ "a", 
42
			{ "a", 
43
			"$2a$08$cfcvVd2aQ8CMvoMpP2EBfe",
43
			"$2b$08$cfcvVd2aQ8CMvoMpP2EBfe",
44
			"$2a$08$cfcvVd2aQ8CMvoMpP2EBfeodLEkkFJ9umNEfPD18.hUF62qqlC/V." },
44
			"$2b$08$cfcvVd2aQ8CMvoMpP2EBfeodLEkkFJ9umNEfPD18.hUF62qqlC/V." },
45
			{ "a",
45
			{ "a",
46
			"$2a$10$k87L/MF28Q673VKh8/cPi.",
46
			"$2b$10$k87L/MF28Q673VKh8/cPi.",
47
			"$2a$10$k87L/MF28Q673VKh8/cPi.SUl7MU/rWuSiIDDFayrKk/1tBsSQu4u" },
47
			"$2b$10$k87L/MF28Q673VKh8/cPi.SUl7MU/rWuSiIDDFayrKk/1tBsSQu4u" },
48
			{ "a",
48
			{ "a",
49
			"$2a$12$8NJH3LsPrANStV6XtBakCe",
49
			"$2b$12$8NJH3LsPrANStV6XtBakCe",
50
			"$2a$12$8NJH3LsPrANStV6XtBakCez0cKHXVxmvxIlcz785vxAIZrihHZpeS" },
50
			"$2b$12$8NJH3LsPrANStV6XtBakCez0cKHXVxmvxIlcz785vxAIZrihHZpeS" },
51
			{ "abc",
51
			{ "abc",
52
			"$2a$06$If6bvum7DFjUnE9p2uDeDu",
52
			"$2b$06$If6bvum7DFjUnE9p2uDeDu",
53
			"$2a$06$If6bvum7DFjUnE9p2uDeDu0YHzrHM6tf.iqN8.yx.jNN1ILEf7h0i" },
53
			"$2b$06$If6bvum7DFjUnE9p2uDeDu0YHzrHM6tf.iqN8.yx.jNN1ILEf7h0i" },
54
			{ "abc",
54
			{ "abc",
55
			"$2a$08$Ro0CUfOqk6cXEKf3dyaM7O",
55
			"$2b$08$Ro0CUfOqk6cXEKf3dyaM7O",
56
			"$2a$08$Ro0CUfOqk6cXEKf3dyaM7OhSCvnwM9s4wIX9JeLapehKK5YdLxKcm" },
56
			"$2b$08$Ro0CUfOqk6cXEKf3dyaM7OhSCvnwM9s4wIX9JeLapehKK5YdLxKcm" },
57
			{ "abc",
57
			{ "abc",
58
			"$2a$10$WvvTPHKwdBJ3uk0Z37EMR.",
58
			"$2b$10$WvvTPHKwdBJ3uk0Z37EMR.",
59
			"$2a$10$WvvTPHKwdBJ3uk0Z37EMR.hLA2W6N9AEBhEgrAOljy2Ae5MtaSIUi" },
59
			"$2b$10$WvvTPHKwdBJ3uk0Z37EMR.hLA2W6N9AEBhEgrAOljy2Ae5MtaSIUi" },
60
			{ "abc",
60
			{ "abc",
61
			"$2a$12$EXRkfkdmXn2gzds2SSitu.",
61
			"$2b$12$EXRkfkdmXn2gzds2SSitu.",
62
			"$2a$12$EXRkfkdmXn2gzds2SSitu.MW9.gAVqa9eLS1//RYtYCmB1eLHg.9q" },
62
			"$2b$12$EXRkfkdmXn2gzds2SSitu.MW9.gAVqa9eLS1//RYtYCmB1eLHg.9q" },
63
			{ "abcdefghijklmnopqrstuvwxyz",
63
			{ "abcdefghijklmnopqrstuvwxyz",
64
			"$2a$06$.rCVZVOThsIa97pEDOxvGu",
64
			"$2b$06$.rCVZVOThsIa97pEDOxvGu",
65
			"$2a$06$.rCVZVOThsIa97pEDOxvGuRRgzG64bvtJ0938xuqzv18d3ZpQhstC" },
65
			"$2b$06$.rCVZVOThsIa97pEDOxvGuRRgzG64bvtJ0938xuqzv18d3ZpQhstC" },
66
			{ "abcdefghijklmnopqrstuvwxyz",
66
			{ "abcdefghijklmnopqrstuvwxyz",
67
			"$2a$08$aTsUwsyowQuzRrDqFflhge",
67
			"$2b$08$aTsUwsyowQuzRrDqFflhge",
68
			"$2a$08$aTsUwsyowQuzRrDqFflhgekJ8d9/7Z3GV3UcgvzQW3J5zMyrTvlz." },
68
			"$2b$08$aTsUwsyowQuzRrDqFflhgekJ8d9/7Z3GV3UcgvzQW3J5zMyrTvlz." },
69
			{ "abcdefghijklmnopqrstuvwxyz",
69
			{ "abcdefghijklmnopqrstuvwxyz",
70
			"$2a$10$fVH8e28OQRj9tqiDXs1e1u",
70
			"$2b$10$fVH8e28OQRj9tqiDXs1e1u",
71
			"$2a$10$fVH8e28OQRj9tqiDXs1e1uxpsjN0c7II7YPKXua2NAKYvM6iQk7dq" },
71
			"$2b$10$fVH8e28OQRj9tqiDXs1e1uxpsjN0c7II7YPKXua2NAKYvM6iQk7dq" },
72
			{ "abcdefghijklmnopqrstuvwxyz",
72
			{ "abcdefghijklmnopqrstuvwxyz",
73
			"$2a$12$D4G5f18o7aMMfwasBL7Gpu",
73
			"$2b$12$D4G5f18o7aMMfwasBL7Gpu",
74
			"$2a$12$D4G5f18o7aMMfwasBL7GpuQWuP3pkrZrOAnqP.bmezbMng.QwJ/pG" },
74
			"$2b$12$D4G5f18o7aMMfwasBL7GpuQWuP3pkrZrOAnqP.bmezbMng.QwJ/pG" },
75
			{ "~!@#$%^&*()      ~!@#$%^&*()PNBFRD",
75
			{ "~!@#$%^&*()      ~!@#$%^&*()PNBFRD",
76
			"$2a$06$fPIsBO8qRqkjj273rfaOI.",
76
			"$2b$06$fPIsBO8qRqkjj273rfaOI.",
77
			"$2a$06$fPIsBO8qRqkjj273rfaOI.HtSV9jLDpTbZn782DC6/t7qT67P6FfO" },
77
			"$2b$06$fPIsBO8qRqkjj273rfaOI.HtSV9jLDpTbZn782DC6/t7qT67P6FfO" },
78
			{ "~!@#$%^&*()      ~!@#$%^&*()PNBFRD",
78
			{ "~!@#$%^&*()      ~!@#$%^&*()PNBFRD",
79
			"$2a$08$Eq2r4G/76Wv39MzSX262hu",
79
			"$2b$08$Eq2r4G/76Wv39MzSX262hu",
80
			"$2a$08$Eq2r4G/76Wv39MzSX262huzPz612MZiYHVUJe/OcOql2jo4.9UxTW" },
80
			"$2b$08$Eq2r4G/76Wv39MzSX262huzPz612MZiYHVUJe/OcOql2jo4.9UxTW" },
81
			{ "~!@#$%^&*()      ~!@#$%^&*()PNBFRD",
81
			{ "~!@#$%^&*()      ~!@#$%^&*()PNBFRD",
82
			"$2a$10$LgfYWkbzEvQ4JakH7rOvHe",
82
			"$2b$10$LgfYWkbzEvQ4JakH7rOvHe",
83
			"$2a$10$LgfYWkbzEvQ4JakH7rOvHe0y8pHKF9OaFgwUZ2q7W2FFZmZzJYlfS" },
83
			"$2b$10$LgfYWkbzEvQ4JakH7rOvHe0y8pHKF9OaFgwUZ2q7W2FFZmZzJYlfS" },
84
			{ "~!@#$%^&*()      ~!@#$%^&*()PNBFRD",
84
			{ "~!@#$%^&*()      ~!@#$%^&*()PNBFRD",
85
			"$2a$12$WApznUOJfkEGSmYRfnkrPO",
85
			"$2a$12$WApznUOJfkEGSmYRfnkrPO",
86
			"$2a$12$WApznUOJfkEGSmYRfnkrPOr466oFDCaj4b6HY3EXGvfxm43seyhgC" },
86
			"$2a$12$WApznUOJfkEGSmYRfnkrPOr466oFDCaj4b6HY3EXGvfxm43seyhgC" },
87
- 

Return to bug 2611