roPassKey
Este objeto proporciona un medio para generar claves (hashes) a partir de una contraseña y salt. El equivalente en JavaScript es la API Crypto de Node.js.
Creación del objeto: Al objeto se le pasa un arreglo asociativo que especifica los métodos de generación y el cifrado.
CreateObject("roPassKey", parameters As roAssociativeArray)El arreglo asociativo debe contener los siguientes parámetros:
- método: El método de derivación de claves. Actualmente, solo se puede especificar "pbkdf2".
- keyfn: La función pseudoaleatoria (PRF). Actualmente, solo se puede especificar "hmac-sha256".
- keylen: La longitud de la clave
- iteraciones: El número de iteraciones
ifPassKey
GenerateKey(password As Object, salt As Object) As roByteArray
Genera una clave usando la contraseña y el salt proporcionados. Los parámetros pueden pasarse como cadenas o como instancias de roByteArray . La instancia generada de roByteArray puede contener todos los valores de bytes posibles, incluido NUL.
GenerateSalt(length As Integer) As roByteArray
Genera un salt de la longitud especificada. Este salt puede utilizarse al llamar al método GenerarClave() . La instancia generada de roByteArray puede contener todos los valores de bytes posibles, incluido NUL.
Ejemplo
' Create input test data
salt = CreateObject("roByteArray")
pass = CreateObject("roByteArray")
pass.FromAsciiString("password")
salt.FromAsciiString("salt")
' Create the key generator
pk = CreateObject("roPassKey", { method: "pbkdf2", keyfn: "hmac-sha256", keylen: 32, iterations: 4096 } )
' key with be a roByteArray
key = pk.GenerateKey(pass, salt)