Files
mrbs-equbao-2026/lib/Defuse/docs/classes/Key.md
T
人事系统开发 1ba6efd8ed MRBS 1.12.2 等保2.0二级整改完整提交
包含:登录失败锁定、90天密码有效期、30分钟会话超时、
强制改密、登录审计日志、屏幕水印、企业背景图、
备案信息固定底部、favicon、JS空集合保护、
会话过期体验优化(403 JSON)、display_errors 关闭、
固定 key 根治 Integrity check failed 等全部改动

注意:config.inc.php/.htaccess/.user.ini 含敏感信息,
通过 .gitignore 排除,勿推送到公开仓库。
2026-09-09 16:55:02 +08:00

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\EnvironmentIsBrokenException is 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\EnvironmentIsBrokenException is 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:

  1. $saved_key_string is the string returned from saveToAsciiSafeString() when the original Key instance was saved.
  2. $do_not_trim should be set to TRUE if 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\EnvironmentIsBrokenException is 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\BadFormatException is thrown whenever $saved_key_string does not represent a valid Key instance.

Side-effects and performance:

None.

Cautions:

None.