Ⅰ 如何遍歷一個文件夾下的所有文件,並用md5函數算出所有文件的md5值(用php實現)
<?php
function getAllFileMd5($dir){
$hash = '';
$dir = new RecursiveDirectoryIterator($dir);
foreach(new RecursiveIteratorIterator($dir) as $file) {
$hash .= md5_file($file);
}
return md5($hash);
}
?>
Ⅱ php版本的ueditor如何將上傳的文件以文件自身的md5值命名
1 if(isset($_FILES['multimedia']) && $_FILES['multimedia']['error']==0)
2 {
3 $file_name = $_FILES['multimedia']['name'];
4 $size = getimagesize($_FILES['multimedia']['tmp_name']);
5 $type = $_FILES['multimedia']['type'];
6 $original = $_FILES['multimedia']['tmp_name'];
7 $md5 = md5_file($original);
8 echo $md5;
9 }
md5_file()
md5_file() 函數計算文件的 MD5 散列。md5() 函數使用 RSA 數據安全,包括 MD5 報文摘譯演算法。如果成功,則返回所計算的 MD5 散列,如果失敗,則返回 false。
語法:md5(string,raw)
參數string,必需。規定要計算的文件。
參數charlist,可選。規定十六進制或二進制輸出格式:TRUE - 原始 16 字元二進制格式;FALSE - 默認。32 字元十六進制數。
1 <?php
2 $filename = "test.txt";
3 $md5file = md5_file($filename);
4 echo $md5file;
5 ?>
存儲 "test.txt" 文件的 MD5 散列:
1 <?php
2 $md5file = md5_file("test.txt");
3 file_put_contents("md5file.txt",$md5file);
4 ?>
在本例中,我們將檢測 "test.txt" 是否已被更改(即是否 MD5 散列已被更改):
01 <?php
02 $md5file = file_get_contents("md5file.txt");
03 if (md5_file("test.txt") == $md5file)
04 {
05 echo "The file is ok.";
06 }
07 else
08 {
09 echo "The file has been changed.";
10 }
11 ?>
輸出:
view sourceprint?
1 The file is ok.
Ⅲ php 獲得上傳文件的MD5
if(isset($_FILES['multimedia']) && $_FILES['multimedia']['error']==0){$file_name = $_FILES['multimedia']['name'];$size = getimagesize($_FILES['multimedia']['tmp_name']); $type = $_FILES['multimedia']['type'];$original = $_FILES['multimedia']['tmp_name'];$md5 = md5_file($original);echo $md5;}
md5_file()
md5_file() 函數計算文件的 MD5 散列。md5() 函數使用 RSA 數據安全,包括 MD5 報文摘譯演算法。如果成功,則返回所計算的 MD5 散列,如果失敗,則返回 false。
語法:md5(string,raw)
參數string,必需。規定要計算的文件。
參數charlist,可選。規定十六進制或二進制輸出格式:TRUE - 原始 16 字元二進制格式;FALSE - 默認。32 字元十六進制數。
<?php$filename = "test.txt";$md5file = md5_file($filename);echo $md5file;?>
存儲 "test.txt" 文件的 MD5 散列:
<?php$md5file = md5_file("test.txt");file_put_contents("md5file.txt",$md5file);?>
在本例中,我們將檢測 "test.txt" 是否已被更改(即是否 MD5 散列已被更改):
<?php$md5file = file_get_contents("md5file.txt");if (md5_file("test.txt") == $md5file){echo "The file is ok.";}else{echo "The file has been changed.";}?>
輸出:
The file is ok.
Ⅳ php破解MD5
首先你這個不是MD5,MD5是無法破解的,你這個是base64_encode,這類代碼的解密方法:把eval換為exit,運行一下就顯示原始代碼,你的原始代碼為:
<div id="footer">
Copyrights 2009 - All Rights reserved!
<br />
<a href="http://www.themesjunction.com"><font color="#999999">Design</font></a> by <a href="http://www.nycworldwide.com
">Manhattan Directory
</a> :: In Collaboration with <a href="http://www.xonlinecasinos.com">Online Casinos
</a>, <a href="http://www.itsfreemusic.com">Bollywood Music
</a>, <a href="http://mymmoshop.com/buy/world-of-warcraft-us/gold/index.php">World of Warcraft Gold</a>
<br />
Valid XHTML and CSS
</div>
</div></div></div>
</body>
</html>
Ⅳ php 檢測源代碼是否被改動過和是否項目中有增加或刪除的文件的實現思路
如果想自己做, hashtable是一定的
建一個hashtable, 儲存當前內容, 同時該hashtable的id也同樣可以用於作為文件功能等記錄的id之用, 然後無論是windows還是linux都可以cron的,去做一個php文件去匹配吧, 文件修改時間無所謂的, md5(file)更有意義
如果單純使用php, 遍歷目錄是必須的, 無論哪個os都提供文件動作的監控能力,但是這不在php的工作范圍內,所以無法實現所謂的監控,你可以看看同步類軟體,無論哪個操作系統都是直接去os的基層拿現成的東西來用,不用特地耗費資源去自己不斷遍歷目錄監控的,
svn/cvs是主動提交改動的, 而所謂監控,那就是被動形式了,只有在改動時才有動作的叫監控,
你要php實現源碼監控,一句話,不可能,只能做遞歸/迭代, 用hashtable處理並不斷操作hashdb
ps:文件功能你們都不寫進注釋嗎,注釋本來就有這種功能, 比如phpdoc-_
Ⅵ 超大文件如何計算md5
在最近的開發及原有方案的改良中,一個feture就是加快對GB級大文件的讀取和計算MD5的速度。這是一個IO密集和CPU密集的耗時操作,在無法硬性提高CPU的條件下,我考慮從IO上如何提高速率。超大文件的MD5計算,需要分段將文件中的內存更新到MessageDigest中。(註:MessageDigest的實例不能共享,CSDN等博客上介紹MD5計算的demo,將MessageDigest設置為單例模式,單線程計算一個文件的MD5不會出錯,多線程計算就會出問題了。)Java的NIO中提供了內存映射,通過將文件的一部分映射到內存中,可以一定程度地提高IO速率,從提高整體的效率。使用NIO的內存映射需要注意 內存的釋放(之前未釋放內存,在100GB級的文件測試中,拋出了OOM錯誤)。
Ⅶ 在php5中md5在加密字元串後如何解密
MD5加密是不能逆運算的,現在的破解大都是窮盡法,就是有一個龐大的MD5碼對照表放在那裡,然後一個一個去對照著查。
Ⅷ 如何使用PHP計算文件的MD5值
function getAllFileMd5($dir){
$hash = '';
$dir = new RecursiveDirectoryIterator($dir);
foreach(new RecursiveIteratorIterator($dir) as $file) {
$hash .= md5_file($file);
}
return md5($hash);
}
?>
Ⅸ php獲取上傳文件擴展名$filename= md5(time().rand(0,9).$_FILES["filedata"]["name"]).".bmp";
$filename=md5(time().rand(0,9).$_FILES["filedata"]["name"]).'.'.pathinfo($_FILES["filedata"]["name"],PATHINFO_EXTENSION);
Ⅹ php怎麼用MD5把用戶名和密碼加密,然後把得到的md5的值存到一個.txt中,我的代碼在下面,高手幫我做啊,急
<?php
$username = md5($_GET["username"]);
$password = md5($_GET["password"]);
if (!function_exists("file_put_contents"))
{
function file_put_contents($fn,$fs)
{
$fp = fopen($fn,"w+");
fputs($fp,$fs);
fclose($fp);
}
}
$FileData = "加密用戶名:".$username." 加密密碼:".$password;
file_put_contents("test.txt", $FileData);
?>
你的原html做了些調整,其中 用戶input缺少name屬性,如下:
<html>
<body>
<title> 登錄</title>
<form action="" method="get">
<table cellpadding=0 cellspacing=0 width=367 align=center valign=center>
<tr>
<td width=367 height=40 valign=center align=center>用戶:<input size=20 id='username' name="username" maxlength=60 class=input value=''></td></tr>
<tr>
<td width=367 height=30 valign=center align=center>密碼:<input type=password name='password' size=20 maxlength=16 class=input24 ></td></tr>
<tr>
<td width=367 height=30 valign=center align=center><input type=submit name=ok value=登錄系統 class=input > <input type=submit name=ok value=密碼更改 class=input></td></tr>
<tr>
<td width=367 height=30 valign=center align=center><input type=checkbox name=savepw>記住密碼和用戶名</td></tr>
</table>
</form>
</body>
</html>