@@ -66,17 +66,23 @@ class MyInvalidSecret
6666 expect ( BCrypt ::Engine . hash_secret ( false , @salt ) ) . to eq BCrypt ::Engine . hash_secret ( "false" , @salt )
6767 end
6868
69- specify "should be interoperable with other implementations" do
69+ describe "should be interoperable with other implementations" do
7070 # test vectors from the OpenWall implementation <http://www.openwall.com/crypt/>
7171 test_vectors = [
7272 [ "U*U" , "$2a$05$CCCCCCCCCCCCCCCCCCCCC." , "$2a$05$CCCCCCCCCCCCCCCCCCCCC.E5YPO9kmyuRGyh0XouQYb4YMJKvyOeW" ] ,
7373 [ "U*U*" , "$2a$05$CCCCCCCCCCCCCCCCCCCCC." , "$2a$05$CCCCCCCCCCCCCCCCCCCCC.VGOzA784oUp/Z0DY336zx7pLYAy0lwK" ] ,
7474 [ "U*U*U" , "$2a$05$XXXXXXXXXXXXXXXXXXXXXO" , "$2a$05$XXXXXXXXXXXXXXXXXXXXXOAcXxm9kjPGEMsLznoKqmqw7tc8WCx4a" ] ,
7575 [ "" , "$2a$05$CCCCCCCCCCCCCCCCCCCCC." , "$2a$05$CCCCCCCCCCCCCCCCCCCCC.7uG0VCzI2bS7j6ymqJi9CdcdxiRTWNy" ] ,
76- [ "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" , "$2a$05$abcdefghijklmnopqrstuu" , "$2a$05$abcdefghijklmnopqrstuu5s2v8.iXieOjg/.AySBTTZIIVFJeBui" ]
76+ [ "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" , "$2a$05$abcdefghijklmnopqrstuu" , "$2a$05$abcdefghijklmnopqrstuu5s2v8.iXieOjg/.AySBTTZIIVFJeBui" ] ,
77+ [ "\xaa " *72 , "$2a$05$/OK.fbVrR/bpIqNJ5ianF." , "$2a$05$/OK.fbVrR/bpIqNJ5ianF.swQOIzjOiJ9GHEPuhEkvqrUyvWhEMx6" ] ,
78+ [ "\xaa " *72 +"chars after 72 are ignored as usual" , "$2a$05$/OK.fbVrR/bpIqNJ5ianF." , "$2a$05$/OK.fbVrR/bpIqNJ5ianF.swQOIzjOiJ9GHEPuhEkvqrUyvWhEMx6" ] ,
79+ [ "\xaa \x55 " *36 , "$2a$05$/OK.fbVrR/bpIqNJ5ianF." , "$2a$05$/OK.fbVrR/bpIqNJ5ianF.R9xrDjiycxMbQE2bp.vgqlYpW5wx2yy" ] ,
80+ [ "\x55 \xaa \xff " *24 , "$2a$05$/OK.fbVrR/bpIqNJ5ianF." , "$2a$05$/OK.fbVrR/bpIqNJ5ianF.9tQZzcJfm3uj2NvJ/n5xkhpqLrMpWCe" ]
7781 ]
78- for secret , salt , test_vector in test_vectors
79- expect ( BCrypt ::Engine . hash_secret ( secret , salt ) ) . to eql ( test_vector )
82+ test_vectors . each do |secret , salt , test_vector |
83+ specify ( "with Secret: #{ secret } " ) do
84+ expect ( BCrypt ::Engine . hash_secret ( secret , salt ) ) . to eql ( test_vector )
85+ end
8086 end
8187 end
8288end
0 commit comments