如何实现高效的数据加密与解密过程?

更新于
2026-09-24 19:39:13
2阅读来源:SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计215个文字,预计阅读时间需要1分钟。

如何实现高效的数据加密与解密过程?

python加密函数def encrypt(str, secret_key): # AES, 128 模式加密数据 secret_key=base64.b64decode(secret_key) str=trim(str) str=addPKCS7Padding(str) iv=mcry # CBC模式 cipher=AES.new(secret_key, AES.MODE_CBC, iv) encrypted_str=cipher.encrypt(str.encode()) return base64.b64encode(encrypted_str).decode()

如何实现高效的数据加密与解密过程?

gistfile1.txt

/** * 加密方法 * @param string $str * @return string */ function encrypt($str,$screct_key){ //AES, 128 模式加密数据 CBC $screct_key = base64_decode($screct_key); $str = trim($str); $str = addPKCS7Padding($str); $iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128,MCRYPT_MODE_CBC),1); $encrypt_str = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $screct_key, $str, MCRYPT_MODE_CBC); return base64_encode($encrypt_str); } /** * 解密方法 * @param string $str * @return string */ function decrypt($str,$screct_key){ //AES, 128 模式加密数据 CBC $str = base64_decode($str); $screct_key = base64_decode($screct_key); $iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128,MCRYPT_MODE_CBC),1); $encrypt_str = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $screct_key, $str, MCRYPT_MODE_CBC); $encrypt_str = trim($encrypt_str); $encrypt_str = stripPKSC7Padding($encrypt_str); return $encrypt_str; } /** * 填充算法 * @param string $source * @return string */ function addPKCS7Padding($source){ $source = trim($source); $block = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC); $pad = $block - (strlen($source) % $block); if ($pad <= $block) { $char = chr($pad); $source .= str_repeat($char, $pad); } return $source; } /** * 移去填充算法 * @param string $source * @return string */ function stripPKSC7Padding($source){ $source = trim($source); $char = substr($source, -1); $num = ord($char); if($num==62)return $source; $source = substr($source,0,-$num); return $source; }

本文共计215个文字,预计阅读时间需要1分钟。

如何实现高效的数据加密与解密过程?

python加密函数def encrypt(str, secret_key): # AES, 128 模式加密数据 secret_key=base64.b64decode(secret_key) str=trim(str) str=addPKCS7Padding(str) iv=mcry # CBC模式 cipher=AES.new(secret_key, AES.MODE_CBC, iv) encrypted_str=cipher.encrypt(str.encode()) return base64.b64encode(encrypted_str).decode()

如何实现高效的数据加密与解密过程?

gistfile1.txt

/** * 加密方法 * @param string $str * @return string */ function encrypt($str,$screct_key){ //AES, 128 模式加密数据 CBC $screct_key = base64_decode($screct_key); $str = trim($str); $str = addPKCS7Padding($str); $iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128,MCRYPT_MODE_CBC),1); $encrypt_str = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $screct_key, $str, MCRYPT_MODE_CBC); return base64_encode($encrypt_str); } /** * 解密方法 * @param string $str * @return string */ function decrypt($str,$screct_key){ //AES, 128 模式加密数据 CBC $str = base64_decode($str); $screct_key = base64_decode($screct_key); $iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128,MCRYPT_MODE_CBC),1); $encrypt_str = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $screct_key, $str, MCRYPT_MODE_CBC); $encrypt_str = trim($encrypt_str); $encrypt_str = stripPKSC7Padding($encrypt_str); return $encrypt_str; } /** * 填充算法 * @param string $source * @return string */ function addPKCS7Padding($source){ $source = trim($source); $block = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC); $pad = $block - (strlen($source) % $block); if ($pad <= $block) { $char = chr($pad); $source .= str_repeat($char, $pad); } return $source; } /** * 移去填充算法 * @param string $source * @return string */ function stripPKSC7Padding($source){ $source = trim($source); $char = substr($source, -1); $num = ord($char); if($num==62)return $source; $source = substr($source,0,-$num); return $source; }