3.2 KiB
Class: Defuse\Crypto\Key
The Key class represents a secret key used for encrypting and decrypting. Once
you have a Key instance, you can use it with the Crypto class to encrypt and
decrypt strings and with the File class to encrypt and decrypt files.
Instance Methods
saveToAsciiSafeString()
Description:
Saves the encryption key to a string of printable ASCII characters, which can be
loaded again into a Key instance using Key::loadFromAsciiSafeString().
Parameters:
This method does not take any parameters.
Return value:
Returns a string of printable ASCII characters representing this Key instance,
which can be loaded back into an instance of Key using
Key::loadFromAsciiSafeString().
Exceptions:
Defuse\Crypto\Exception\EnvironmentIsBrokenExceptionis thrown either when the platform the code is running on cannot safely perform encryption for some reason (e.g. it lacks a secure random number generator), or the runtime tests detected a bug in this library.
Side-effects and performance:
None.
Cautions:
This method currently returns a hexadecimal string. You should not rely on this behavior. For example, it may be improved in the future to return a base64 string.
Static Methods
Key::createNewRandomKey()
Description:
Generates a new random key and returns an instance of Key.
Parameters:
This method does not take any parameters.
Return value:
Returns an instance of Key containing a randomly-generated encryption key.
Exceptions:
Defuse\Crypto\Exception\EnvironmentIsBrokenExceptionis thrown either when the platform the code is running on cannot safely perform encryption for some reason (e.g. it lacks a secure random number generator), or the runtime tests detected a bug in this library.
Side-effects and performance:
None.
Cautions:
None.
Key::loadFromAsciiSafeString($saved_key_string, $do_not_trim = false)
Description:
Loads an instance of Key that was saved to a string by
saveToAsciiSafeString().
By default, this function will call Encoding::trimTrailingWhitespace()
to remove trailing CR, LF, NUL, TAB, and SPACE characters, which are commonly
appended to files when working with text editors.
Parameters:
$saved_key_stringis the string returned fromsaveToAsciiSafeString()when the originalKeyinstance was saved.$do_not_trimshould be set toTRUEif you do not wish for the library to automatically strip trailing whitespace from the string.
Return value:
Returns an instance of Key representing the same encryption key as the one
that was represented by the Key instance that got saved into
$saved_key_string by a call to saveToAsciiSafeString().
Exceptions:
-
Defuse\Crypto\Exception\EnvironmentIsBrokenExceptionis thrown either when the platform the code is running on cannot safely perform encryption for some reason (e.g. it lacks a secure random number generator), or the runtime tests detected a bug in this library. -
Defuse\Crypto\Exception\BadFormatExceptionis thrown whenever$saved_key_stringdoes not represent a validKeyinstance.
Side-effects and performance:
None.
Cautions:
None.