Ejemplo n.º 1
0
 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)
Ejemplo n.º 2
0
 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)
Ejemplo n.º 3
0
    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./")
Ejemplo n.º 4
0
    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./")
Ejemplo n.º 5
0
 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)
Ejemplo n.º 6
0
 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")
Ejemplo n.º 7
0
 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)
Ejemplo n.º 8
0
 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")