zheeknodev/sipher

一个简单的PHP加密库

1.1 2021-09-21 16:17 UTC

This package is auto-updated.

Last update: 2024-09-19 19:50:05 UTC


README

一个简单的PHP加密库

Generic badge GitHub tags Generic badge GitHub license

功能

  • 生成随机字符串
  • 生成随机密码
  • 哈希密码
  • 验证密码
  • 单向加密字符串
  • 验证单向加密字符串
  • 生成随机加密字符串
  • 加密
  • 验证加密

入门指南

安装composer包

composer require zheeknodev/sipher

./index.php

<?php
    // Autoload from composer
    require(__DIR__.'/vendor/autoload.php');
    
    $app = new \Sipher\Sipher('Your some secret words');
    
    // coding something here

在调用一个对象类时,将"您的某些秘密词"作为密钥插入。如果您没有密钥,请使用\Sipher\Sipher::randomString(32);生成一个32位的随机字符串作为密钥。

生成随机字符串

$secret_key = \Sipher\Sipher::randomString(32); 

// output -> bkkaxPf39N8okOcn4RSi601LuFBDHnCK

生成随机密码

您可以调整字符长度,例如,为10个字符。

$app->get_random_password(10);

// output -> qhaQ29xr6v

哈希密码

$password_hash = $app->get_password_hash("Your password");

// output -> JDJ5JDEwJE5tdkVvcXl3TU9RekwzL0g0blEwbnVmLzJXUjl4a2VSRDdBVzJBN2JXMkltYVF1UjVHdzRT

验证密码

返回结果为布尔值

$password_hash = "JDJ5JDEwJE5tdkVvcXl3TU9RekwzL0g0blEwbnVmLzJXUjl4a2VSRDdBVzJBN2JXMkltYVF1UjVHdzRT";

// result will return as boolean, TRUE and FASLE
$verifying_password = $app->get_password_verify("Your password", $password_hash);

// output -> true

单向加密字符串

$crypt = $app->get_crypt('password');

// output -> 0e7ef28192db0a0f10b8f35ce944801a0ba2e397f3af28b292202f1eda52f5cb

验证单向加密字符串

返回结果为布尔值

$crypt = "0e7ef28192db0a0f10b8f35ce944801a0ba2e397f3af28b292202f1eda52f5cb";

// result will return as boolean, TRUE and FASLE
$crypt_verify = $app->get_crypt_verify('password', $crypt);

加密

结果将返回为对象,包含以下内容:

  • encrypted - 加密字符串
  • check_hash - 用于解密的可选字符串
  • key - 用于解密的密钥
$result = $app->get_random_encrypt();

如果您需要将单词插入到加密中

$result = $app->get_string_encrypt("your word");

输出

print_r($result);

// Object
stdClass Object (
	["encrypted"] => "646e6842533149.......d // it's too long
	["check_hash"] => 4e44466d4e6a4a69........s 
	["key"] => NTIyOWNmNTFlZjk5YTY0NDNmNDA1YmM2NDdjZGRiZDk=
)

验证加密

返回结果为布尔值

// From the previous example
$encrypt_string = $result->encrypted;
$encrypt_check_hash = $result->ecrypt_check_hash;
$encrypt_key = $result->encrypt_key;

// result will return as boolean, TRUE and FASLE
$app->get_verify_encrypt($encrypt_string,$encrypt_check_hash, $encryt_key); 

许可证

(MIT许可证)

版权所有 (c) 2020 ZheeknoDev (million8.me@gmail.com)

在此特此免费授予任何获得此软件及其相关文档副本(“软件”)的个人在不附加任何限制的情况下处理软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许将软件提供给有权获得软件的个人以这样做,前提是以下条件:上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

本软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、针对特定目的的适用性和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论这些索赔、损害或其他责任是基于合同、侵权或其他原因,是否因软件或其使用或其他方式而产生、存在或与之相关。