def to_string(self): salt = bascii_to_str(ab64_encode(self.salt)) chkmap = self.checksum chk_str = ",".join("%s=%s" % (alg, bascii_to_str(ab64_encode(chkmap[alg]))) for alg in self.algs) return '$scram$%d$%s$%s' % (self.rounds, salt, chk_str)
def to_string(self): salt = bascii_to_str(ab64_encode(self.salt)) chkmap = self.checksum chk_str = ",".join( "%s=%s" % (alg, bascii_to_str(ab64_encode(chkmap[alg]))) for alg in self.algs ) return '$scram$%d$%s$%s' % (self.rounds, salt, chk_str)
def test_ab64_encode(self): """ab64_encode()""" from passlib.utils.binary import ab64_encode # accept bytes self.assertEqual(ab64_encode(hb("69b7")), b"abc") # reject unicode self.assertRaises(TypeError if PY3 else UnicodeEncodeError, ab64_encode, hb("69b7").decode("latin-1")) # insert correct padding before decoding self.assertEqual(ab64_encode(hb("69b71d")), b"abcd") # 0 mod 4 self.assertEqual(ab64_encode(hb("69b71d79")), b"abcdeQ") # 2 mod 4 self.assertEqual(ab64_encode(hb("69b71d79f8")), b"abcdefg") # 3 mod 4 # output "./" altchars self.assertEqual(ab64_encode(hb("69bfbf")), b"ab./")
def test_ab64_encode(self): """ab64_encode()""" from passlib.utils.binary import ab64_encode # accept bytes self.assertEqual(ab64_encode(hb("69b7")), b"abc") # reject unicode self.assertRaises(TypeError if PY3 else UnicodeEncodeError, ab64_encode, hb("69b7").decode("latin-1")) # insert correct padding before decoding self.assertEqual(ab64_encode(hb("69b71d")), b"abcd") # 0 mod 4 self.assertEqual(ab64_encode(hb("69b71d79")), b"abcdeQ") # 2 mod 4 self.assertEqual(ab64_encode(hb("69b71d79f8")), b"abcdefg") # 3 mod 4 # output "./" altchars self.assertEqual(ab64_encode(hb("69bfbf")), b"ab./")
def to_string(self): salt = ab64_encode(self.salt).decode("ascii") chk = ab64_encode(self.checksum).decode("ascii") return uh.render_mc3(self.ident, self.rounds, salt, chk)
def _calc_checksum(self, secret): # NOTE: pbkdf2_hmac() will encode secret & salt using utf-8 salt = self._get_config() result = pbkdf2_hmac("sha1", secret, salt, self.rounds, 24) return ab64_encode(result).decode("ascii")
def to_string(self): salt = ab64_encode(self.salt).decode("ascii") chk = ab64_encode(self.checksum).decode("ascii") return uh.render_mc3(self.ident, self.rounds, salt, chk)
def _calc_checksum(self, secret): # NOTE: pbkdf2_hmac() will encode secret & salt using utf-8 salt = self._get_config() result = pbkdf2_hmac("sha1", secret, salt, self.rounds, 24) return ab64_encode(result).decode("ascii")