搜尋
首頁php教程PHP源码AES-256 加密 PHP实现
AES-256 加密 PHP实现May 23, 2016 pm 05:10 PM
aesphp加密實現

php代码

class aes {

	static public $mode = MCRYPT_MODE_NOFB;
	
	static public function generateKey($length=32) {
		if (!in_array($length,array(16,24,32)))
			return False;

		$str = '';
		for ($i=0;$i<$length;$i++) {
			$str .= chr(rand(33,126));
		}

		return $str;
	}

	static public function encrypt($data, $key) {

		if (strlen($key) > 32 || !$key)
			return trigger_error(&#39;key too large or key is empty.&#39;, E_USER_WARNING) && False;

		$ivSize = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, self::$mode);
		$iv = mcrypt_create_iv($ivSize, (substr(PHP_OS,0,1) == &#39;W&#39; ? MCRYPT_RAND : MCRYPT_DEV_URANDOM ));
		$encryptedData = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $data, self::$mode, $iv);
		$encryptedData = $iv . $encryptedData;

		return base64_encode($encryptedData);
	}

	static public function decrypt($data, $key) {

		if (strlen($key) > 32 || !$key)
			return trigger_error(&#39;key too large or key is empty.&#39;, E_USER_WARNING) && False;

		$data = base64_decode($data);
		if (!$data)
			return False;

		$ivSize = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, self::$mode);
		$iv = substr($data, 0, $ivSize);

		$data = substr($data, $ivSize);

		$decryptData = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $data, self::$mode, $iv);

		return $decryptData;
	}
}
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
如何在Java中进行AES加密和解密操作如何在Java中进行AES加密和解密操作May 08, 2023 pm 10:34 PM

1.背景知识在密码学中,加密算法分为单向加密和双向加密。对称加密是指加密和解密使用相同的密钥,包括AES加密、DES加密等。非对称加密是指加密和解密使用不同的密钥,包括RSA加密等。单向加密包括MD5、SHA等摘要算法,它们是不可逆的。双向加密包括对称加密和非对称加密。双向加密是可逆的,存在密文的密钥。2.AES简介AES:高级加密标准(AdvancedEncryptionStandard)是美国联邦政府采用的一种区块加密标准,是目前最流行的一种对称加密算法。是用来替代DES的新一代分组加密算法

Redis作为缓存数据库的数据压缩与加密方案Redis作为缓存数据库的数据压缩与加密方案Jun 21, 2023 am 08:48 AM

Redis作为一款开源的内存缓存数据库,在应用开发中极度广泛。其强大、高效的性能优势,使得其成为了最常用的缓存数据库之一。然而,在某些特殊场景下,由于数据量过大或安全性需要,我们需要对Redis数据进行压缩和加密处理。本文将从Redis的数据压缩和加密两方面入手,探讨Redis作为缓存数据库在实际应用中的数据压缩与加密方案。一、Redis数据压缩方案Re

如何使用PHP ZipArchive实现对压缩包的文件内容加密和解密?如何使用PHP ZipArchive实现对压缩包的文件内容加密和解密?Jul 21, 2023 pm 06:44 PM

如何使用PHPZipArchive实现对压缩包的文件内容加密和解密?在进行文件传输或存储时,保护数据安全是非常重要的。使用密码对压缩包的文件内容进行加密和解密可以有效地避免数据泄漏的风险。PHP提供了一个名为ZipArchive的类,它可以用来创建和操作ZIP格式的压缩包。本文将介绍如何使用PHPZipArchive类实现对压缩包的文件内容加密和解密。创

如何在 Windows 11 上加密文件和文件夹如何在 Windows 11 上加密文件和文件夹May 03, 2023 pm 06:46 PM

在Windows11上加密文件和文件夹与WindowsBitLocker一样,EFS加密可用于加密您PC上最重要的文件。使用内置加密非常简单,而且触手可及。此外,由于EFS与您的用户帐户相关联,我们将向您展示如何将加密密钥备份到安全位置,这样您就永远不会失去对文件和文件夹的访问权限。注意:要使用EFS,您的PC必须运行Windows11专业版、企业版或教育版。EFS加密在Windows11家庭版上不可用。要加密充满文件的文件夹或单个文件,请使用以下步骤:

SpringBoot如何实现RAS+AES自动接口解密SpringBoot如何实现RAS+AES自动接口解密May 20, 2023 pm 04:04 PM

一、讲个事故接口安全老生常谈了过年之前做了过一款飞机大战的H5小游戏,里面无限模式-需要保存用户的积分,因为使用的Body传参,参数是可见的,为了接口安全我,我和前端约定了传递参数是:用户无限模式的积分+“我们约定的一个数字”+用户id的和,在用Base64加密,请求到服务器我再解密,出用户无限模式的积分;如下:{"integral":"MTExMTM0NzY5NQ==",}可是过年的时候,运营突然找我说无限模式积分排行榜分数不对:这就很诡异了,第二名才一

PHP实现SHA加密技术PHP实现SHA加密技术Jun 18, 2023 pm 02:51 PM

SHA(SecureHashAlgorithm)加密技术是一种常用的安全加密算法。在PHP开发中,SHA加密技术通常用于加密账户密码以及保护敏感数据。本文将介绍如何在PHP中实现SHA加密技术。SHA算法简介SHA算法是一种信息摘要算法,通常用于数据的完整性保护和身份验证。SHA算法的主要作用是将任意长度的消息转换为一个固定长度的消息摘要(即哈希值),通

windows10家庭版如何加密文件夹windows10家庭版如何加密文件夹Jul 12, 2023 pm 08:33 PM

windows10家庭版如何加密文件夹呢,加密文件夹这个功能一般客户没有使用,但是如果想要设定的话也是可行的,首先在想要加密的文件夹中右键属性进到高级,然后选择缩小加密属性,加密内容维护数据,下面就是具体的windows10家庭版如何加密文件夹方式介绍,大家如果想要学会的话就接着往下看。windows10家庭版如何加密文件夹1.最先,先找到想要加密的文件夹,然后用鼠标右键文件夹,在弹出的菜单中选择底部的“属性”选项,点击查看;2.随后,将打开文件的属性窗口,点击窗口里的“高级”按键进到;3.接着

PHP中的AES256加密技术及其在框架中的应用方法详解PHP中的AES256加密技术及其在框架中的应用方法详解Jun 09, 2023 pm 12:25 PM

随着互联网的发展和普及,数据的安全性越来越受到重视。在数据传输和存储过程中,加密技术是一种非常有效的手段,通过加密可以保证数据的机密性和完整性。而在PHP中,AES256加密技术是一种非常流行的加密方式,本文将详细介绍其在框架中的应用方法。AES256加密技术简介AES(AdvancedEncryptionStandard)即高级加密标准,是现代流行的对

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
1 個月前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版