最新下载
24小时阅读排行榜
- 1 如何在 Tkinter Grid 中向指定单元格(行列坐标)写入变量值
- 2 mysql中复合索引的顺序选择与性能提升
- 3 C++怎么调用Python C++与Python混合编程实现方法【拓展】
- 4 c# task.run 和 task.factory.startnew 区别
- 5 css多列布局与视差效果_column-width与parallax应用
- 6 MySQL 查询缓存(query_cache)在 8.0 被移除后的替代方案
- 7 Go 字符串是不可变的吗?拼接性能对比
- 8 Go语言函数返回结构体还是指针更好_Golang接口与性能权衡
- 9 如何修复矩阵计算器中加减函数仅执行一次的问题
- 10 mysql版本迁移中的分布式数据库架构调整与优化
- 11 Go测试中如何使用临时文件 Golang测试资源管理
- 12 如何在 MySQL 中正确组合必选与可选查询条件
- 13 Mypy 如何正确推断 collections.Counter 等容器的类型?
- 14 Go语言匿名函数怎么写_Golang闭包基础说明
- 15 css 过渡与动画的区别_过渡效果的应用场景
最新教程
-
- Node.js 教程
- 16330 2025-08-28
-
- CSS3 教程
- 1547035 2025-08-27
-
- Rust 教程
- 23449 2025-08-27
-
- Vue 教程
- 25880 2025-08-22
-
- PostgreSQL 教程
- 22379 2025-08-21
-
- Git 教程
- 9327 2025-08-21
<?php
$error_level = E_ALL & E_STRICT;
ini_set('error_reporting', $error_level);
ini_set('display_errors', 1);
$tcryptoLocation = dirname(__DIR__) . DIRECTORY_SEPARATOR . 'library' . DIRECTORY_SEPARATOR . 'TCrypto';
require $tcryptoLocation . DIRECTORY_SEPARATOR . 'Loader.php';
require 'apps.php';
$loader = new TCrypto\Loader();
$loader->register();
$settings = new TCrypto\Tools\SettingStore();
$cli = new TCrypto\Tools\Cli\Horde\Cli();
if (file_exists('keytool.config.php'))
{
$optionParser = new TCrypto\Tools\ArrayOptionParser('keytool.config.php');
}TCrypto是可以很方便加密解密的库,可以使用它来对需要在网络中传输的数据加密。可以使用非对称加密:公钥加密,私钥解密。openssl提供了对RSA的支持,但RSA存在计算效率低的问题,所以一般的做法是使用对称密钥加密数据,然后再把这个只在当前有效的临时生成的对称密钥用非对称密钥的公钥加密之后传递给目标方,目标方使用约定好的非对称密钥中的私钥解开,得到数据加密的密钥,再进行数据解密,得到数据,这种使用方式很常见,可以认为是对HTTPS的裁剪。对称密钥加密可以选择AES,比DES更优秀。
下载源码之后,开始编译:
产生动态库的做法:
1、安装ActivePerl
2、进入OpenSSL所在文件夹,运行:perl Configure VC-WIN32 --prefix=C:\openssl-dll
3、进入VC/BIN目录,运行 VCVARS32.BAT 设置环境变量
4、返回OpenSSL目录,运行 ms\do_ms
5、在OpenSSL目录下执行编译 nmake -f ms\ntdll.mak
6、把必要生成物拷贝到prefix定义的目录中 nmake -f ms\ntdll.mak install
注意:可以通过修改ntdll.mak文件中的CFLAG,确定编译MT、MD库
产生静态库的做法:
1、安装ActivePerl
2、perl configure VC-WIN32 --prefix=C:\openssl-lib
3、ms\do_ms.bat
4、nmake -f ms\nt.mak
5、nmake -f ms\nt.mak install
注意:可以通过修改nt.mak文件中的CFLAG,确定编译MT、MD库。重编的时候把生成物删掉。
