Module network_hash_gen.cisco_ios.type_5
Expand source code
from passlib.hash import md5_crypt
from network_hash_gen.base import BaseHash
class Type5(BaseHash):
"""
Calculates the md5-crypt based type 5 hashes for Cisco IOS/IOS-XE.
"""
salt_chars = "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
salt_length = 4
@classmethod
def hash_salted(cls, password: str, salt: str) -> str:
"""
Calculates a Cisco IOS/IOS-XE Type 5 hash with the given password and
salt.
This function assumes that the given salt is valid for that hash.
Using an invalid salt leads to undefined behaviour.
Prefer the `hash` and `hash_seeded` functions over this
one if possible.
"""
m = md5_crypt.using(salt=salt).hash(password)
return m
Classes
class Type5-
Calculates the md5-crypt based type 5 hashes for Cisco IOS/IOS-XE.
Expand source code
class Type5(BaseHash): """ Calculates the md5-crypt based type 5 hashes for Cisco IOS/IOS-XE. """ salt_chars = "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" salt_length = 4 @classmethod def hash_salted(cls, password: str, salt: str) -> str: """ Calculates a Cisco IOS/IOS-XE Type 5 hash with the given password and salt. This function assumes that the given salt is valid for that hash. Using an invalid salt leads to undefined behaviour. Prefer the `hash` and `hash_seeded` functions over this one if possible. """ m = md5_crypt.using(salt=salt).hash(password) return mAncestors
Subclasses
Class variables
var salt_chars : str-
Inherited from:
BaseHash.salt_charsA string containing all characters that can be used in a salt.
var salt_length : int-
Inherited from:
BaseHash.salt_lengthThe length of the salt.
Static methods
def hash(password: str) ‑> str-
Calculates the hash …
def hash_salted(password: str, salt: str) ‑> str-
Calculates a Cisco IOS/IOS-XE Type 5 hash with the given password and salt.
This function assumes that the given salt is valid for that hash. Using an invalid salt leads to undefined behaviour. Prefer the
hashandhash_seededfunctions over this one if possible.Expand source code
@classmethod def hash_salted(cls, password: str, salt: str) -> str: """ Calculates a Cisco IOS/IOS-XE Type 5 hash with the given password and salt. This function assumes that the given salt is valid for that hash. Using an invalid salt leads to undefined behaviour. Prefer the `hash` and `hash_seeded` functions over this one if possible. """ m = md5_crypt.using(salt=salt).hash(password) return m def hash_seeded(password: str, seed: str) ‑> str-
Inherited from:
BaseHash.hash_seededCalculates a hash with the given seed used for generating a appropriate salt …