亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

PHP

PHP操作文件的技巧

時間:2024-05-28 21:42:00 PHP 我要投稿
  • 相關(guān)推薦

PHP操作文件的技巧

  目前在互聯(lián)網(wǎng)有很多網(wǎng)站的開發(fā)都是通過PHP語言來完成的,例如,搜狐、網(wǎng)易和百度等,在這些知名網(wǎng)站的創(chuàng)作開發(fā)中都應(yīng)用到了PHP語言。

PHP操作文件的技巧

  方法一 while:

  /**

  * Created by PhpStorm.

  * User: Administrator

  * Date: 2015/6/29

  * Time: 17:05

  */

  header("Content-type: text/html; charset=utf-8");

  $f = fopen('data','r');

  //讀取多行數(shù)據(jù) while

  while(!feof($f)){//feof() 函數(shù)檢測是否已到達文件末尾

  $content = fgets($f);

  echo $content;

  }

  fclose($f);

  方法二 file_get_contents():

  1echo file_get_contents('data');

  PHP排序算法類方法

  四種排序算法的PHP實現(xiàn):

  1) 插入排序(Insertion Sort)的基本思想是:

  每次將一個待排序的記錄,按其關(guān)鍵字大小插入到前面已經(jīng)排好序的子文件中的適當(dāng)位置,直到全部記錄插入完成為止。

  2) 選擇排序(Selection Sort)的基本思想是:

  每一趟從待排序的記錄中選出關(guān)鍵字最小的記錄,順序放在已排好序的子文件的最后,直到全部記錄排序完畢。

  3) 冒泡排序的基本思想是:

  兩兩比較待排序記錄的關(guān)鍵字,發(fā)現(xiàn)兩個記錄的次序相反時即進行交換,直到?jīng)]有反序的記錄為止。

  4) 快速排序?qū)嵸|(zhì)上和冒泡排序一樣,都是屬于交換排序的一種應(yīng)用。所以基本思想和上面的冒泡排序是一樣的。

  PHP處理密碼的方法

  一、MD5

  相信很多PHP開發(fā)者在最先接觸PHP的時候,處理密碼的首選加密函數(shù)可能就是MD5了,我當(dāng)時就是這樣的:

  $password = md5($_POST["password"]);

  上面這段代碼是不是很熟悉?然而MD5的加密方式目前在PHP的江湖中貌似不太受歡迎了,因為它的加密算法實在是顯得有點簡單了,而且很多破解密碼的站點都存放了很多經(jīng)過MD5加密的密碼字符串,所以這里我是非常不提倡還在單單使用MD5來加密用戶的密碼的。

  二、SHA256 和 SHA512

  其實跟前面的MD5同期的還有一個SHA1加密方式的,不過也是算法比較簡單,所以這里就一筆帶過吧。而這里即將要說到的 SHA256 和 SHA512 都是來自于SHA2家族的加密函數(shù),看名字可能你就猜的出來了,這兩個加密方式分別生成256和512比特長度的hash字串。

  他們的使用方法如下:

  $password = hash("sha256", $password);

  PHP內(nèi)置了 hash() 函數(shù),你只需要將加密方式傳給 hash() 函數(shù)就好了。你可以直接指明 sha256 , sha512 , md5 , sha1 等加密方式。

  三、鹽值

  在加密的過程,我們還有一個非常常見的小伙伴:鹽值。對,我們在加密的時候其實會給加密的字符串添加一個額外的字符串,以達到提高一定安全的目的:

  function generateHashWithSalt($password) {

  $intermediateSalt = md5(uniqid(rand(), true));

  $salt = substr($intermediateSalt, 0, 6);

  return hash("sha256", $password . $salt);

  }

  四、Bcrypt

  如果讓我來建議一種加密方式的話, Bcrypt 可能是我給你推薦的最低要求了,因為我會強烈推薦你后面會說到的 Hashing API ,不過 Bcrypt 也不失為一種比較不錯的加密方式了。

  function generateHash($password) {

  if (defined("CRYPT_BLOWFISH") && CRYPT_BLOWFISH) {

  $salt = '$2y$11$' . substr(md5(uniqid(rand(), true)), 0, 22);

  return crypt($password, $salt);

  }

  }

【PHP操作文件的技巧】相關(guān)文章:

法律文件長句翻譯技巧08-30

電腦常用操作技巧07-19

Word快速提取對象文件技巧03-16

電腦的基本常識和操作技巧07-19

國債逆回購操作指南和技巧09-28

公交車節(jié)油駕駛操作技巧02-11

用ISO鏡像文件安裝了Xp操作系統(tǒng)的方法教程07-22

科目二曲線行駛考試操作技巧09-05

php實習(xí)心得12-01

php實習(xí)報告11-07