导航:首页 > 文档加密 > pg加密函数

pg加密函数

发布时间:2024-04-15 22:01:08

1. gpg加密怎么把导入秘钥导入本地秘钥中

PGP(Pretty Good Privacy),是一个基于RSA公匙加密体系、将公开密钥加密与传统密钥加密相结合的一种加密技术。它的功能强大,有很快的速度。而且它的源代码是免费的。 它使用一对数学上相关的钥匙,其中一个(公钥)用来加密信息,另一个(私钥)用来解密信息。PGP采用的传统加密技术部分所使用的密钥称为“会话密钥”(sek)。每次使用时,PGP都随机产生一个128位的IDEA会话密钥,用来加密内容。公开密钥加密技术中的公钥和私钥则用来加密会话密钥,并通过它间接地保护内容。举例来说,当你要传送一封保密信或档案给我时,必须先取得我的公开钥匙 (Public Key) ,并且将它加入你的公开钥匙环 ( Public Keyring) 中,然后利用我的公开钥匙将信件加密。当我收到你加密的信件后,我必须利用其相对的私人钥匙 (Secret Key) 来解密。因此,除非其他人拥 有问的私人钥匙,否则无法解开你发给我所加密的信件。同时我在使用私人钥匙解密时,还必须输入通行码 (Pass Phrase),如此又对加密后的讯息多了一层保护。 PGP中的每个公钥和私钥都伴随着一个密钥证书。它一般包含以下内容: 1、密钥内容(用长达百位的数字表示的密钥) 2、密钥类型(表示该密钥为公钥或是私钥) 3、密钥长度(密钥的长度,以二进制位表示) 4、密钥编号(用以唯一标识该密钥) 5、创建时间(用以表示时间戳) 6、用户标识 (密钥创建人的信息,如姓名、邮箱等) 7、密钥指纹(为128位的数字,是密钥内容的提要表示密钥唯一的特征) Win平台下PGP软件介绍 PGP Desktop Professional PGP Desktop Professional是美国的PGP加密软件,是目前最优秀,最安全的加密方式。 这种软件的核心思想是利用逻辑分区保护文件,比如,逻辑分区D:是受PGP保护的硬盘分区,那么,每次打开这个分区的时候,需要输入密码才能打开这个分区,在这个分区内的文件是绝对安全的。不再需要这个分区时,可以把这个分区关闭并使其从桌面上消失,当再次打开时,需要输入密码。没有密码,软件开发者本人也无法解密!PGP是全世界最流行的文件夹加密软件。它的源代码是公开的,经受住了成千上万顶尖黑客的破解挑战,事实证明PGP是目前世界上最安全的加密软件。 常用的版本是PGP Desktop Professional(PGP专业桌面版),它包含邮件加密与身份确认,资料公钥&私钥加密,硬盘及移动盘全盘密码保护,网络共享资料加密,PGP自解压文档创建,资料安全擦除等众多功能。 最终版本:PGP 10.02[build13](PGP SDK 4.0.0)。 由于赛门铁克的公司的收购影响,PGP从10.0.2以后以安全插件等的形式集成于诺顿等赛门铁克公司安全产品里。现在比较常见的是8.1和10.02的版本。相关下载地址自行搜索。 你可以使用 PGP 做这些事: 1、在任何软件中进行加密/签名以及解密/效验。通过 PGP 选项和电子邮件插件,你可以在任何软件当中使用 PGP 的功能。 2、创建以及管理密钥。使用 PGPkeys 来创建、查看、和维护你自己的 PGP 密钥对;以及把任何人的公钥加入你的公钥库中。 3、创建自解密压缩文档 (self-decrypting archives, SDA)。你可以建立一个自动解密的可执行文件。任何人不需要事先安装 PGP ,只要得知该文件的加密密码,就可以把这个文件解密。这个功能尤其在需要把文件发送给没有安装 PGP 的人时特别好用。并且,此功能还能对内嵌其中的文件进行压缩,压缩率与ZIP相似,比RAR略低(某些时候略高,比如含有大量文本)。总的来说,该功能是相当出色的。 4、创建PGPdisk加密文件。该功能可以创建一个.pgd的文件,此文件用PGP Disk功能加载后,将以新分区的形式出现,你可以在此分区内放入需要保密的任何文件。其使用私钥和密码两者共用的方式保存加密数据,保密性坚不可摧,但需要注意的是,一定要在重装系统前记得备份“我的文档”中的“PGP”文件夹里的所有文件,以备重装后恢复你的私钥。切记切记,否则将永远没有可能再次打开曾经在该系统下创建的任何加密文件! 5、永久的粉碎销毁文件、文件夹,并释放出磁盘空间。你可以使用PGP粉碎工具来永久地删除那些敏感的文件和文件夹,而不会遗留任何的数据片段在硬盘上。你也可以使用PGP自由空间粉碎器来再次清除已经被删除的文件实际占用的硬盘空间。这两个工具都是要确保你所删除的数据将永远不可能被别有用心的人恢复。 相关使用教程:顶级加密软件PGP Desktop个人使用教程[申请推荐] GnuPG GnuPG是GNU项目中的一员,是信息加密技术中,最“朴实”的工具,因为这实际上也就是使用GnuPG的命令。 gpg的主页不提供gpg的下载,这是因为美国的法律是限制加密技术出口的。 但gpg主页上只提供了其他国家服务器上下载的镜像链接,我就是在这里下载的: ftp://ftp.gnupg.ca/binary/gnupg-w32cli-1.4.9.exe 然后就一路安装,默认的安装路径是: C:\Program Files\GNU\GnuPG 安装好以后,我们需要一个地方作为gpg的工作目录,随便找个地方建立个文件夹就可以了,比如“我的文档”是个好地方,比如就这个位置: \My Documents\gpg 在这个文件夹里面创建一个文本文件,然后更名为一个批处理文件,比如startgpg.bat,文件内容如下: @set path=C:\Program Files\GNU\GnuPG;%PATH%; @echo ---**欢迎使用gpg加密系统**--- @echo 帮助请用命令gpg -h @cmd 其实就是临时指定了gpg命令的路径。 运行startgpg.bat,你就进入一个“命令与提示符”窗口了。你可以先使用gpg -h看看帮助信息。 官方有篇中文教程大家可以在这里看: Gnu 隐私卫士 (GnuPG) 袖珍 HOWTO (中文版) 或者是月光博客写的教程 使用GnuPG(PGP)加密信息及数字签名教程 以及阮一峰的网络日志 GPG入门教程 - 阮一峰的网络日志 InstantCrypt 官方主页:Send secure email with public-key email encryption InstantCrypt是一个强大的加密工具,使用开放标准设计的PGP发送和接收安全电子邮件,是一款入门级的 PGP标准的加密程序。 MiniPGP 没有主页,但是很多下载网站都有。 本软件顾名思义是PGP加解密工具的精简版本。如果你想和朋友之间加解密一些文件而又不想安装庞大的PGP软件,那么它会是你的最佳选择!

2. pg鏁版嵁搴搒um鍑芥暟鐢ㄦ硶

鍏蜂綋姝ラゅ备笅锛
1銆佸傛灉鍦⊿UM鍑芥暟涓鐩存帴杈揿叆鍙傛暟镄勫硷纴闾d箞鍙傛暟蹇呴’涓烘暟鍊肩被鍨嬶纴鍗虫暟瀛椼佹枃链镙煎纺镄勬暟瀛楁垨阃昏緫鍊硷纴濡傛灉鏄鍏朵粬绫诲瀷锛孲UM鍑芥暟灏呜繑锲为敊璇鍊#VALUE銆伞
2銆佸傛灉浣跨敤鍗曞厓镙煎紩鐢ㄦ垨鏁扮粍浣沦UM鍑芥暟镄勫弬鏁帮纴闾d箞鍙傛暟蹇呴’涓烘暟瀛楋纴鍏朵粬绫诲瀷镄勫奸兘灏呜蹇界暐銆

3. Linux下使用GPG(GnuPG)加密及解密文件

GNU Privacy Guard(GnuPG或GPG)是一种加密软件,它是PGP加御凯举好密软件的满足GPL的替代物。GnuPG依照由IETF订定的OpenPGP技术标准设计。GnuPG用于加密、数字签名及产生非对称钥匙对的软件。
首先安装GPG
sudo apt install gnupg
gpg --gen-key
Real name: 输入用户名
Email address: 输入邮箱
Change (N)ame, (E)mail, or (O)kay/镇答唤(Q)uit? O
最后查看
gpg --list-keys

4. 有用PostgreSQL的吗,哪个package好用一些

特性 MySQL PostgreSQL
实例 通过执行 MySQL 命令(mysqld)启动实例。一个实例可以管理一个或多个数据库。一台服务器可以运行多个 mysqld 实例。一个实例管理器可以监视 mysqld 的各个实例。
通过执行 Postmaster 进程(pg_ctl)启动实例。一个实例可以管理一个或多个数据库,这些数据库组成一个集群。集群是磁盘上的一个区域,这个区域在安装时初始化并由一个目录组成,所有数据都存储在这个目录中。使用 initdb 创建第一个数据库。一台机器上可以启动多个实例。
数据库 数据库是命名的对象集合,是与实例中的其他数据库分离的实体。一个 MySQL 实例中的所有数据库共享同一个系统编目。 数据库是命名的对象集合,每个数据库是与其他数据库分离的实体。每个数据库有自己的系统编目,但是所有数据库共享 pg_databases。
数据缓冲区 通过 innodb_buffer_pool_size 配置参数设置数据缓冲区。这个参数是内存缓冲区的字节数,InnoDB 使用这个缓冲区来缓存表的数据和索引。在专用的数据库服务器上,这个参数最高可以设置为机器物理内存量的 80%。 Shared_buffers 缓存。在默认情况下分配 64 个缓冲区。默认的块大小是 8K。可以通过设置 postgresql.conf 文件中的 shared_buffers 参数来更新缓冲区缓存。
数据库连接 客户机使用 CONNECT 或 USE 语句连接数据库,这时要指定数据库名,还可以指定用户 id 和密码。使用角色管理数据库中的用户和用户组。 客户机使用 connect 语句连接数据库,这时要指定数据库名,还可以指定用户 id 和密码。使用角色管理数据库中的用户和用户组。
身份验证 MySQL 在数据库级管理身份验证。 基本只支持密码认证。 PostgreSQL 支持丰富的认证方法:信任认证、口令认证、Kerberos 认证、基于 Ident 的认证、LDAP 认证、PAM 认证
加密 可以在表级指定密码来对数据进行加密。还可以使用 AES_ENCRYPT 和 AES_DECRYPT 函数对列数据进行加密和解密。可以通过 SSL 连接实现网络加密。 可以使用 pgcrypto 库中的函数对列进行加密/解密。可以通过 SSL 连接实现网络加密。
审计 可以对 querylog 执行 grep。 可以在表上使用 PL/pgSQL 触发器来进行审计。
查询解释 使用 EXPLAIN 命令查看查询的解释计划。 使用 EXPLAIN 命令查看查询的解释计划。
备份、恢复和日志 InnoDB 使用写前(write-ahead)日志记录。支持在线和离线完全备份以及崩溃和事务恢复。需要第三方软件才能支持热备份。 在数据目录的一个子目录中维护写前日志。支持在线和离线完全备份以及崩溃、时间点和事务恢复。 可以支持热备份。
JDBC 驱动程序 可以从 参考资料 下载 JDBC 驱动程序。 可以从 参考资料 下载 JDBC 驱动程序。
表类型 取决于存储引擎。例如,NDB 存储引擎支持分区表,内存引擎支持内存表。 支持临时表、常规表以及范围和列表类型的分区表。不支持哈希分区表。 由于PostgreSQL的表分区是通过表继承和规则系统完成了,所以可以实现更复杂的分区方式。
索引类型 取决于存储引擎。MyISAM:BTREE,InnoDB:BTREE。 支持 B-树、哈希、R-树和 Gist 索引。
约束 支持主键、外键、惟一和非空约束。对检查约束进行解析,但是不强制实施。 支持主键、外键、惟一、非空和检查约束。
存储过程和用户定义函数 支持 CREATE PROCEDURE 和 CREATE FUNCTION 语句。存储过程可以用 SQL 和 C++ 编写。用户定义函数可以用 SQL、C 和 C++ 编写。 没有单独的存储过程,都是通过函数实现的。用户定义函数可以用 PL/pgSQL(专用的过程语言)、PL/Tcl、PL/Perl、PL/python 、SQL 和 C 编写。
触发器 支持行前触发器、行后触发器和语句触发器,触发器语句用过程语言复合语句编写。 支持行前触发器、行后触发器和语句触发器,触发器过程用 C 编写。
系统配置文件 my.conf Postgresql.conf
数据库配置 my.conf Postgresql.conf
客户机连接文件 my.conf pg_hba.conf
XML 支持 有限的 XML 支持。 有限的 XML 支持。
数据访问和管理服务器 OPTIMIZE TABLE —— 回收未使用的空间并消除数据文件的碎片
myisamchk -analyze —— 更新查询优化器所使用的统计数据(MyISAM 存储引擎)
mysql —— 命令行工具
MySQL Administrator —— 客户机 GUI 工具 Vacuum —— 回收未使用的空间
Analyze —— 更新查询优化器所使用的统计数据
psql —— 命令行工具
pgAdmin —— 客户机 GUI 工具
并发控制 支持表级和行级锁。InnoDB 存储引擎支持 READ_COMMITTED、READ_UNCOMMITTED、REPEATABLE_READ 和 SERIALIZABLE。使用 SET TRANSACTION ISOLATION LEVEL 语句在事务级设置隔离级别。 支持表级和行级锁。支持的 ANSI 隔离级别是 Read Committed(默认 —— 能看到查询启动时数据库的快照)和 Serialization(与 Repeatable Read 相似 —— 只能看到在事务启动之前提交的结果)。使用 SET TRANSACTION 语句在事务级设置隔离级别。使用 SET SESSION 在会话级进行设置。

MySQL相对于PostgreSQL的劣势:

MySQL
PostgreSQL

最重要的引擎InnoDB很早就由Oracle公司控制。目前整个MySQL数据库都由Oracle控制。
BSD协议,没有被大公司垄断。

对复杂查询的处理较弱,查询优化器不够成熟
很强大的查询优化器,支持很复杂的查询处理。

只有一种表连接类型:嵌套循环连接(nested-loop),不支持排序-合并连接(sort-merge join)与散列连接(hash join)。
都支持

性能优化工具与度量信息不足

提供了一些性能视图,可以方便的看到发生在一个表和索引上的select、delete、update、insert统计信息,也可以看到cache命中率。网上有一个开源的pgstatspack工具。

InnoDB的表和索引都是按相同的方式存储。也就是说表都是索引组织表。这一般要求主键不能太长而且插入时的主键最好是按顺序递增,否则对性能有很大影响。

不存在这个问题。

大部分查询只能使用表上的单一索引;在某些情况下,会存在使用多个索引的查询,但是查询优化器通常会低估其成本,它们常常比表扫描还要慢。

不存在这个问题

表增加列,基本上是重建表和索引,会花很长时间。

表增加列,只是在数据字典中增加表定义,不会重建表

存储过程与触发器的功能有限。可用来编写存储过程、触发器、计划事件以及存储函数的语言功能较弱

除支持pl/pgsql写存储过程,还支持perl、python、Tcl类型的存储过程:pl/perl,pl/python,pl/tcl。

也支持用C语言写存储过程。

不支持Sequence。

支持

不支持函数索引,只能在创建基于具体列的索引。

不支持物化视图。

支持函数索引,同时还支持部分数据索引,通过规则系统可以实现物化视图的功能。

执行计划并不是全局共享的, 仅仅在连接内部是共享的。

执行计划共享

MySQL支持的SQL语法(ANSI SQL标准)的很小一部分。不支持递归查询、通用表表达式(Oracle的with 语句)或者窗口函数(分析函数)。

都 支持

不支持用户自定义类型或域(domain)

支持。

对于时间、日期、间隔等时间类型没有秒以下级别的存储类型

可以精确到秒以下。

身份验证功能是完全内置的,不支持操作系统认证、PAM认证,不支持LDAP以及其它类似的外部身份验证功能。

支持OS认证、Kerberos 认证 、Ident 的认证、LDAP 认证、PAM 认证

不支持database link。有一种叫做Federated的存储引擎可以作为一个中转将查询语句传递到远程服务器的一个表上,不过,它功能很粗糙并且漏洞很多

有dblink,同时还有一个dbi-link的东西,可以连接到oracle和mysql上。

Mysql Cluster可能与你的想象有较大差异。开源的cluster软件较少。

复制(Replication)功能是异步的,并且有很大的局限性.例如,它是单线程的(single-threaded),因此一个处理能力更强的Slave的恢复速度也很难跟上处理能力相对较慢的Master.

有丰富的开源cluster软件支持。

explain看执行计划的结果简单。

explain返回丰富的信息。

类似于ALTER TABLE或CREATE TABLE一类的操作都是非事务性的.它们会提交未提交的事务,并且不能回滚也不能做灾难恢复

DDL也是有事务的。

PostgreSQL主要优势:
1. PostgreSQL完全免费,而且是BSD协议,如果你把PostgreSQL改一改,然后再拿去卖钱,也没有人管你,这一点很重要,这表明了PostgreSQL数据库不会被其它公司控制。oracle数据库不用说了,是商业数据库,不开放。而MySQL数据库虽然是开源的,但现在随着SUN被oracle公司收购,现在基本上被oracle公司控制,其实在SUN被收购之前,MySQL中最重要的InnoDB引擎也是被oracle公司控制的,而在MySQL中很多重要的数据都是放在InnoDB引擎中的,反正我们公司都是这样的。所以如果MySQL的市场范围与oracle数据库的市场范围冲突时,oracle公司必定会牺牲MySQL,这是毫无疑问的。
2. 与PostgreSQl配合的开源软件很多,有很多分布式集群软件,如pgpool、pgcluster、slony、plploxy等等,很容易做读写分离、负载均衡、数据水平拆分等方案,而这在MySQL下则比较困难。
3. PostgreSQL源代码写的很清晰,易读性比MySQL强太多了,怀疑MySQL的源代码被混淆过。所以很多公司都是基本PostgreSQL做二次开发的。
4. PostgreSQL在很多方面都比MySQL强,如复杂SQL的执行、存储过程、触发器、索引。同时PostgreSQL是多进程的,而MySQL是线程的,虽然并发不高时,MySQL处理速度快,但当并发高的时候,对于现在多核的单台机器上,MySQL的总体处理性能不如PostgreSQL,原因是MySQL的线程无法充分利用CPU的能力。
目前只想到这些,以后想到再添加,欢迎大家拍砖。

PostgreSQL与oracle或InnoDB的多版本实现的差别

PostgreSQL与oracle或InnoDB的多版本实现最大的区别在于最新版本和历史版本是否分离存储,PostgreSQL不分,而oracle和InnoDB分,而innodb也只是分离了数据,索引本身没有分开。
PostgreSQL的主要优势在于:
1. PostgreSQL没有回滚段,而oracle与innodb有回滚段,oracle与Innodb都有回滚段。对于oracle与Innodb来说,回滚段是非常重要的,回滚段损坏,会导致数据丢失,甚至数据库无法启动的严重问题。另由于PostgreSQL没有回滚段,旧数据都是记录在原先的文件中,所以当数据库异常crash后,恢复时,不会象oracle与Innodb数据库那样进行那么复杂的恢复,因为oracle与Innodb恢复时同步需要redo和undo。所以PostgreSQL数据库在出现异常crash后,数据库起不来的几率要比oracle和mysql小一些。
2. 由于旧的数据是直接记录在数据文件中,而不是回滚段中,所以不会象oracle那样经常报ora-01555错误。
3. 回滚可以很快完成,因为回滚并不删除数据,而oracle与Innodb,回滚时很复杂,在事务回滚时必须清理该事务所进行的修改,插入的记录要删除,更新的记录要更新回来(见row_undo函数),同时回滚的过程也会再次产生大量的redo日志。
4. WAL日志要比oracle和Innodb简单,对于oracle不仅需要记录数据文件的变化,还要记录回滚段的变化。
PostgreSQL的多版本的主要劣势在于:
1、最新版本和历史版本不分离存储,导致清理老旧版本需要作更多的扫描,代价比较大,但一般的数据库都有高峰期,如果我们合理安排VACUUM,这也不是很大的问题,而且在PostgreSQL9.0中VACUUM进一步被加强了。
2、由于索引中完全没有版本信息,不能实现Coverage index scan,即查询只扫描索引,直接从索引中返回所需的属性,还需要访问表。而oracle与Innodb则可以;

进程模式与线程模式的对比
PostgreSQL和oracle是进程模式,MySQL是线程模式。
进程模式对多CPU利用率比较高。
进程模式共享数据需要用到共享内存,而线程模式数据本身就是在进程空间内都是共享的,不同线程访问只需要控制好线程之间的同步。
线程模式对资源消耗比较少。
所以MySQL能支持远比oracle多的更多的连接。
对于PostgreSQL的来说,如果不使用连接池软件,也存在这个问题,但PostgreSQL中有优秀的连接池软件软件,如pgbouncer和pgpool,所以通过连接池也可以支持很多的连接。

堆表与索引组织表的的对比

Oracle支持堆表,也支持索引组织表
PostgreSQL只支持堆表,不支持索引组织表
Innodb只支持索引组织表
索引组织表的优势:
表内的数据就是按索引的方式组织,数据是有序的,如果数据都是按主键来访问,那么访问数据比较快。而堆表,按主键访问数据时,是需要先按主键索引找到数据的物理位置。
索引组织表的劣势:
索引组织表中上再加其它的索引时,其它的索引记录的数据位置不再是物理位置,而是主键值,所以对于索引组织表来说,主键的值不能太大,否则占用的空间比较大。
对于索引组织表来说,如果每次在中间插入数据,可能会导致索引分裂,索引分裂会大大降低插入的性能。所以对于使用innodb来说,我们一般最好让主键是一个无意义的序列,这样插入每次都发生在最后,以避免这个问题。
由于索引组织表是按一个索引树,一般它访问数据块必须按数据块之间的关系进行访问,而不是按物理块的访问数据的,所以当做全表扫描时要比堆表慢很多,这可能在OLTP中不明显,但在数据仓库的应用中可能是一个问题。

PostgreSQL9.0中的特色功能:
PostgreSQL中的Hot Standby功能
也就是standby在应用日志同步时,还可以提供只读服务,这对做读写分离很有用。这个功能是oracle11g才有的功能。

PostgreSQL异步提交(Asynchronous Commit)的功能:
这个功能oracle中也是到oracle11g R2才有的功能。因为在很多应用场景中,当宕机时是允许丢失少量数据的,这个功能在这样的场景中就特别合适。在PostgreSQL9.0中把synchronous_commit设置为false就打开了这个功能。需要注意的是,虽然设置为了异步提交,当主机宕机时,PostgreSQL只会丢失少量数据,异步提交并不会导致数据损坏而数据库起不来的情况。MySQL中没有听说过有这个功能。

PostgreSQL中索引的特色功能:
PostgreSQL中可以有部分索引,也就是只能表中的部分数据做索引,create index 可以带where 条件。同时PostgreSQL中的索引可以反向扫描,所以在PostgreSQL中可以不必建专门的降序索引了。

阅读全文

与pg加密函数相关的资料

热点内容
androidsleep函数 浏览:151
android内核代码下载 浏览:665
服务器如何添加墨迹 浏览:747
diglinux安装 浏览:279
虚拟机执行命令 浏览:444
cctv16奥林匹克频道加密播出 浏览:899
c盘微信文件夹隐私 浏览:229
asp压缩mdb 浏览:670
node开源论坛源码 浏览:10
单片机比手机芯片还贵 浏览:35
java课表 浏览:555
如何在pdf里面修改 浏览:929
橙光制作器档案框在哪个文件夹 浏览:991
php如何抓取网页数据 浏览:642
计数器单片机 浏览:967
游戏aoi算法 浏览:846
phpmysqlint 浏览:914
怎么从appstore商城买东西 浏览:186
大秀直播平台源码 浏览:426
java视屏 浏览:936