Halite 是PHP项目中一个简单的libsodium封装包。Halite提供高级的加密接口,依靠其所有潜在的密码操作libsodium。
Halite 基本 API:
Encryption
Anonymous
Authenticated
Asymmetric\Crypto::seal
(HiddenString
, EncryptionPublicKey
): string
Asymmetric\Crypto::unseal
(string
, EncryptionSecretKey
): HiddenString
Asymmetric\Crypto::encrypt
(HiddenString
, EncryptionSecretKey
, EncryptionPublicKey
): string
Asymmetric\Crypto::decrypt
(string
, EncryptionSecretKey
, EncryptionPublicKey
): HiddenString
Symmetric\Crypto::encrypt
(HiddenString
, EncryptionKey
): string
Symmetric\Crypto::decrypt
(string
, EncryptionKey
): HiddenString
Symmetric
Asymmetric
Authentication
Asymmetric\Crypto::sign
(string
, SignatureSecretKey
): string
Asymmetric\Crypto::verify
(string
, SignaturePublicKey
, string
): bool
Symmetric\Crypto::authenticate
(string
, AuthenticationKey
): string
Symmetric\Crypto::verify
(string
, AuthenticationKey
, string
): bool
Symmetric
Asymmetric
示例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 方法一:失败,待查原因 1、安装并启动salt-api yum install salt-api –y service salt-api start chkconfig salt-api on 2、安装halite及其依赖文件 yum install python-pip –y pip install --upgrade pip pip install -U halite p
python server_bottle.py -a 192.168.50.254 -d -C -l debug -s cherrypy 首先安装salt-api、halite、cherry yum install salt-api yum install cherry halite不要下载发布的版本,在开发的版本就可以了https://github.com/saltstack/halite 下
本文记录安装SaltStack和halite过程。 首先准备两台rhel或者centos虚拟机sk1和sk2,sk1用于安装master,sk2安装minion。 配置yum源 在每个节点上配置yum源: $ rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm 然后通过下面命令查看ep
需安装0.17版本 git的地址为 https://github.com/saltstack/salt halite的web页面配置 需要再master的配置文件中添加认证方式 external_auth: pam: myusername: #不能使用root - .* - '@runner' - '@wheel'
libsodium 是一个先进而且易用的加密库。主要用于加密、解密、签名和生成密码哈希等等。这是一个可移植的、跨编译器支持、可安装的,基于 NaCI 开发,提供一个兼容 API。
MinDoc 在创建项目时会通过浏览器的H5绘图接口生成一个默认的封面。 用户还可以在项目设置中修改项目封面: 第一步:打开我的项目 第二步、点击设置按钮 第三部、切换到项目设置 点击右侧项目图片,即可上传自定义封面。
大佬们,如何在vue的项目中封装函数通用,比如最少两个组件共用一套方法。有推荐的吗
我正在使用sbt 0.13.12,这是我的项目 在构建中。sbt取决于公共。如果我按sbt project sub1 run运行就可以了。但是,当我将子项目打包为jar文件时,我运行sub1。jar文件中,错误显示sub1无法找到一类公共的。 我的目的是包装sub1。jar和sub2。在每个jar文件中编译带有通用代码的jar。 --更新-- 我尝试作为建议回答。运行时遇到这个问题: 而且,是的!
我有一个使用Gradle作为构建工具的项目和第二个使用Maven的POM的子项目。我没有在子项目上更改构建工具的自由。 我想要实现的是将我的项目添加到Maven POM中,作为我的Gradle项目的依赖项。 其中root(当前目录)是我的Gradle项目,并包含,Maven项目位于下,POM文件就在该目录下。 我在我的< code>build.gradle文件中尝试了这些变化: 第一次尝试: 第二
本文向大家介绍sharepoint项目。从列表中检索项目,包括了sharepoint项目。从列表中检索项目的使用技巧和注意事项,需要的朋友参考一下 示例
使用Intellij 2017.2/out目录生成/build目录中的文件可解决基于Gradle的项目的此问题。然而,我的项目是Python和JavaScript,看不到渐变。IntelliJ现在是否为所有项目创建此目录,无论项目配置为使用何种构建工具?