Phalcon 加密解密组件

2.40 Encryption/Decryption

加密/解密

Phalcon provides encryption facilities via thePhalcon\Crypt
component. This class offers simple object-oriented wrappers to themcrypt
php’s encryption library.

By default, this component provides secure encryption using AES-256 (rijndael-256-cbc).

Phalcon通过\Phalcon\Crypt组件提供了加密和解密工具。这个类提供了一个面象对象的对php mcrypt的封封装类。默认情况下这个组件使用AES-256 加密方式。

2.40.1 Basic Usage

基本使用

This component is designed to provide a very simple usage:

这个组件可以使用极简单的使用:

<?php

//Create an instance

$crypt=
newPhalcon\Crypt();

$key=
’le password’;//密钥

$text=
’This is a secret text’;//待加密的文本

$encrypted
= $crypt->encrypt($text,$key);//执行加密操作

echo$crypt->decrypt($encrypted,$key);//解密操作

You can use the same instance to encrypt/decrypt several times:

也可以使用同一实例加密多次:

<?php

//Create an instance

$crypt=
newPhalcon\Crypt();

$texts =array(

’my-key’ =>’This is a secret text’,

’other-key’
=> ’This is a very secret’

);

foreach($textsas
$key=>
$text) {

//Perform the encryption

$encrypted
= $crypt->encrypt($text,$key);

//Now decrypt

echo$crypt->decrypt($encrypted,$key);

}

2.40.2 Encryption Options

加密选项

Example(例子):

<?php

//Create an instance//创建实例

$crypt=
newPhalcon\Crypt();

//Use blowfish

$crypt->setCipher(’blowfish’);

$key=
’le password’;

$text=
’This is a secret text’;

echo$crypt->encrypt($text,‘’);

2.40.3 Base64 Support

Base64支持

In order that encryption is properly transmitted (emails) or displayed (browsers)base64
encoding is usually applied to encrypted texts:

为了方便传输或显示我们可以对加密后的数据进行base64转码

<?php

//Create an instance

$crypt=
newPhalcon\Crypt();

$key=
’le password’;

$text=
’This is a secret text’;

$encrypt =$crypt->encryptBase64($text,$key);

echo$crypt->decryptBase64($text,$key);

2.40.4 Setting up an Encryption service

设置加密服务

You can set up the encryption component in the services container in order to use it from any part of the application:

你也可以把加密组件放入服务器容器中这样我们可以在应用中任何一个地方访问这个组件:

<?php

$di->set(’crypt’,function()
{

$crypt=
newPhalcon\Crypt();

//Set a global encryption key

$crypt->setKey(’%31.1e$i86e$f!8jz’);

return $crypt;

},true);

Then, for example, in a controller you can use it as follows:

然后我们就可以像如下这样使用加密组件了:

<?php

usePhalcon\Mvc\Controller;

classSecretsController
extendsController

{

public function
saveAction()

{

$secret=
newSecrets();

$text=
$this->request->getPost(’text’);

$secret->content=
$this->crypt->encrypt($text);

if($secret->save())
{

$this->flash->success(’Secret
was successfully created!’);

}

}

}

时间: 2024-12-17 13:13:25

Phalcon 加密解密组件的相关文章

加密解密

在现代密码学中,加密方法大致可分为对称密钥加密(对称加密)和公开密钥加密(非对称加密). 一. 对称加密(Symmetric-key algorithm,或对等加密: Reciprocal cipher ) 对称加密,即加密和解密使用同一个密钥,或者知道一方密钥能够轻易计算出另一方密钥.其解密(decryption)算法等同于加密算法,也就是说,要还原对等加密的密文,套用加密同样的算法即可得到明文. 对称加密的速度比非对称加密快很多,在很多场合都需要对称加密. 对称加密又可分为分组密码(分组加密

RSA加密解密及RSA加签验签

RSA安全性应用场景说明 在刚接触RSA的时候,会混淆RSA加密解密和RSA加签验签的概念.简单来说加密解密是公钥加密私钥解密,持有公钥(多人持有)可以对数据加密,但是只有持有私钥(一人持有)才可以解密并查看数据:加签验签是私钥加签公钥验签,持有私钥(一人持有)可以加签,持有公钥(多人持有)可以验签. 在金融行业在设计到数据交互传输的时候,需要考虑数据的安全性问题.下文通过介绍RSA的加密和加签两个特性,说明RSA加密技术在保障数据传输过程中的安全性以及实现数据的防篡改和防否机制的应用场景及代码

linux关于加密解密技术基础、KPI及创建私有CA

linux加密和解密技术基础.KPI及创建私有CA 一.加密方式分为:1.对称加密:加密和解密使用同一个密钥:      对称加密:采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,在对称加密算法中常用的算法有:DES. 3DES.TDEA.AES.    Blowfish.Twofish          IDE.ARC6.CAST5等.    特性:      1.加密.解密使用同一个密钥:      2.强原始数据分割成固定大小的块,逐个进行加密

Linux之加密解密基础、openssl及CA基础应用

加密解密基础简介 数据在网络中传输过程中要保证三个要点: (1)数据的完整性:防止数据在传输过程中遭到未授权用户的破坏或篡改 (2)数据的机密性:防止文件数据泄漏给未授权用户从而让其利 (3)数据的可用性:保证授权用户能按需访问存取文件数据 因此加密技术是最常用的安全保密手段,利用技术手段把重要的数据变为乱码(加密)传送,到达目的地后再用相同或不同的手段还原(解密).加密技术包括两个元素:算法和密钥.算法是将普通的信息或者可以理解的信息与一串数字(密钥)结合,产生不可理解的密文的步骤,密钥是用来

Bearer Token的加密解密规则(OAuth中间件)

在OAuthBearerAuthenticationMiddleware中使用Microsoft.Owin.Security.DataHandler. SecureDataFormat<TData>类型进行加密解密的操作,其中加密的主要流程如下所示. 其中第二步中的主要使用Microsoft.Owin.Host.SystemWeb中MachineKeyDataProtector类进行Bearer Token的加密与解密,其中加密与解密使用到的算法为System.Web.dll组件中的Machi

SSL加密解密基础

SSL简介: SSL是Secure Socket Layer(安全套接字层)的简写,显而易见,它是为了数据传输安全而发明的一种安全协议,并且是在传输层进行网络加密的一种协议. 信息安全的目标有: 保密性 完整性 可用性 为实现这三个目标的手段有: 技术层面:加密解密 服务层面:用于抵制攻击的服务. 加密解密技术: 1.对称加密:将数据分隔成固定大小的块来分别加密,并且加密和解密使用同一个秘钥的加密技术. 用途:加密大数据文件 常用的对称加密算法有: DES:Data Encryption Sta

openssl 加密 解密 应用及CA的实现

一 现在的加密/解密技术主要有三种:对称加密,公钥加密,和单向加密 对称加密:指的是加密方和解密方使用的是同一个密钥 特性: 1 加密.解密使用同一个秘钥: 2 将原始数据分割成固定大小的块,逐个进行加密 算法:DES  3DES  AES 公钥加密:秘钥是成对出现 公钥:公开给所有人: pubkey 私钥:自己留存,必须保证去私密性:secret key 特点:用公钥加密的数据只能用与之配对的私钥解密,反之亦然: 特性: 数字签名:用于接收方确认发送方的身份 秘钥交换:发送方用对方的公钥加密一

加密解密技术基础、PKI及创建私有私有CA

Linux基础中的加密.解密及openssl 数据为什么要加密?      由于互联网刚开始时使用的人非常少,在互联网中交流信息的人都比较"单纯"几乎没有安全问题:但随着互联网的快速发展,整个互联网中涌入了大量的用户,正所谓林子大了什么鸟都有,随之而来的就是数据的安全性得不到保障:因此就有了对数据的加密及解密. 安全的目标       信息加密的目的是为了确保所传输的信息具有保密性,不被其他人所劫持后篡改信息:如果被篡改后接收方也应该能知道,而且也应该确保没被劫持的信息接收方可以读取.

加密解密技术基础、PKI、及创建私有CA

一.加密解密技术基础 (一) 安全的目标:      1.保密性,confidentiality      2.完整性,integrity         系统完整性,数据完整性      3.可用性,avaliability(二) 攻击类型:     1. 威胁保密性的攻击:窃听.通信量分析     2. 威胁完整性的攻击:更改.伪装.重放.否认     3. 威胁可用性的攻击:拒绝服务(DoS)(三) 解决方案:      技术(加密和解密).服务(用于抵御攻击的服务以及为了实现上述目标而特