• 授权协议:GPLv3
  • 开发厂商:-
  • 软件语言:PHP
  • 更新日期:2016-07-20
Halite

Halite 是PHP项目中一个简单的libsodium封装包。Halite提供高级的加密接口,依靠其所有潜在的密码操作libsodium。var_dump;//bool示例2:用password-derived key 加密消息

Halite PHP项目中libsodium封装 项目简介

Halite 是PHP项目中一个简单的libsodium封装包。Halite提供高级的加密接口,依靠其所有潜在的密码操作libsodium。Halite 基本 API:EncryptionAnonymousAuthenticatedAsymmetric\Crypto::seal(HiddenString, EncryptionPublicKey): stringAsymmetric\Crypto::unseal(string, EncryptionSecretKey): HiddenStringAsymmetric\Crypto::encrypt(HiddenString, EncryptionSecretKey, EncryptionPublicKey): stringAsymmetric\Crypto::decrypt(string, EncryptionSecretKey, EncryptionPublicKey): HiddenStringSymmetric\Crypto::encrypt(HiddenString, EncryptionKey): stringSymmetric\Crypto::decrypt(string, EncryptionKey): HiddenStringSymmetricAsymmetricAuthenticationAsymmetric\Crypto::sign(string, SignatureSecretKey): stringAsymmetric\Crypto::verify(string, SignaturePublicKey, string): boolSymmetric\Crypto::authenticate(string, AuthenticationKey): stringSymmetric\Crypto::verify(string, AuthenticationKey, string): boolSymmetricAsymmetric示例1:加密解密消息首先,生成一个key<?php
use ParagonIE\Halite\KeyFactory;

$encKey = KeyFactory::generateEncryptionKey();
KeyFactory::save($encKey, '/path/outside/webroot/encryption.key');然后,加密解密消息<?php
use ParagonIE\Halite\HiddenString;
use ParagonIE\Halite\KeyFactory;
use ParagonIE\Halite\Symmetric\Crypto as Symmetric;

$encryptionKey = KeyFactory::loadEncryptionKey('/path/outside/webroot/encryption.key');

$message = new HiddenString('This is a confidential message for your eyes only.');
$ciphertext = Symmetric::encrypt($message, $encryptionKey);

$decrypted = Symmetric::decrypt($ciphertext, $encryptionKey);

var_dump($decrypted === $message); // bool(true)示例2:用password-derived key 加密消息<?php
use ParagonIE\Halite\HiddenString;
use ParagonIE\Halite\KeyFactory;
use ParagonIE\Halite\Symmetric\Crypto as Symmetric;

$passwd = new HiddenString('correct horse battery staple');
// Use random_bytes(16); to generate the salt:
$salt = "\xdd\x7b\x1e\x38\x75\x9f\x72\x86\x0a\xe9\xc8\x58\xf6\x16\x0d\x3b";

$encryptionKey = KeyFactory::deriveEncryptionKey($passwd, $salt);

$message = new HiddenString('This is a confidential message for your eyes only.');
$ciphertext = Symmetric::encrypt($message, $encryptionKey);
echo $ciphertext, "\n";

Halite PHP项目中libsodium封装 评论内容