def to_string(self): ident = self.ident if ident == IDENT_SCRYPT: return "$scrypt$ln=%d,r=%d,p=%d$%s$%s" % ( self.rounds, self.block_size, self.parallelism, bascii_to_str(b64s_encode(self.salt)), bascii_to_str(b64s_encode(self.checksum)), ) else: assert ident == IDENT_7 salt = self.salt try: salt.decode("ascii") except UnicodeDecodeError: raise suppress_cause( NotImplementedError( "scrypt $7$ hashes dont support non-ascii salts")) return bascii_to_str(b"".join([ b"$7$", h64.encode_int6(self.rounds), h64.encode_int30(self.block_size), h64.encode_int30(self.parallelism), self.salt, b"$", h64.encode_bytes(self.checksum) ]))
def to_string(self): hash = u("%s%s%s%s") % ( self.ident, h64.encode_int6(self.rounds).decode("ascii"), self.salt, self.checksum or u(""), ) return uascii_to_str(hash)
def to_string(self): hash = u"%s%s%s%s" % (self.ident, h64.encode_int6( self.rounds).decode("ascii"), self.salt, self.checksum or u'') return uascii_to_str(hash)
def test_encode_int6(self): self.assertEqual(h64.encode_int6(0), b('.')) self.assertEqual(h64.encode_int6(63), b('z')) self.assertRaises(ValueError, h64.encode_int6, -1) self.assertRaises(ValueError, h64.encode_int6, 64)
def test_encode_int6(self): self.assertEqual(h64.encode_int6(0),b('.')) self.assertEqual(h64.encode_int6(63),b('z')) self.assertRaises(ValueError, h64.encode_int6, -1) self.assertRaises(ValueError, h64.encode_int6, 64)
def to_string(self): hash = u"%s%s%s%s" % (self.ident, h64.encode_int6(self.rounds).decode("ascii"), self.salt, self.checksum or u'') return to_hash_str(hash)