Tạo ngẫu nhiên password với độ phức tạp cao bằng PHP

Cập nhật: Lượt xem: 79 [ PHP ]

Việc đặt password cho web với độ bảo mật cao là điều cần thiết mà bạn cần phải làm, nếu như bạn không biết nên chọn password như thế nào mới là tốt nhất thì mình xin chia sẻ với các bạn hàm php sau, đây là một hàm giúp bạn tạo ra password từ chữ số và kí tự như : wep5Q268LtTe

Tạo ngẫu nhiên password với độ phức tạp cao bằng PHP

Và sau đây là đoạn code thực thi việc này:

function passGen($length,$nums){
  $lowLet = "abcdefghijklmnopqrstuvwxyz";
  $highLet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  $numbers = "123456789";
  $pass = "";
  $i = 1;
  While ($i <= $length){
  $type = rand(0,1);
  if ($type == 0){
	  if (($length-$i+1) > $nums){
		  $type2 = rand(0,1);
		  if ($type2 == 0){
			  $ran = rand(0,25);
			  $pass .= $lowLet[$ran];
		  }else{
			  $ran = rand(0,25);
			  $pass .= $highLet[$ran];
		  }
	  }else{
	  $ran = rand(0,8);
	  $pass .= $numbers[$ran];
	  $nums--;
	  }
  }else{
	  if ($nums > 0){
		  $ran = rand(0,8);
		  $pass .= $numbers[$ran];
		  $nums--;
	  }else{
		  $type2 = rand(0,1);
		  if ($type2 == 0){
			  $ran = rand(0,25);
			  $pass .= $lowLet[$ran];
		  }else{
			  $ran = rand(0,25);
			  $pass .= $highLet[$ran];
		  }
	  }
  }
  $i++;
  }
  return $pass;
}

Mình xin giải thích tham số của hàm trên :
– $length : độ dài của pass cần tạo
– $num : Số lượng chữ số sẽ xuất hiện trong pass
Ví dụ để tạo ra password có 5 kí tự và 2 chữ số như : X5fD8 thì chúng ta goi hàm như sau :
passGen(5,2)
Hy vọng hàm php trên sẽ giúp cho bạn có được mật khẩu ưng ý cho trang web của mình.

Chúc các bạn thành công !