⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 encrypt.t

📁 关于Berkelay数据库的共享源码
💻 T
📖 第 1 页 / 共 2 页
字号:
#!./perl -w# ID: %I%, %G%   use strict ;use lib 't' ;use BerkeleyDB; use util ;BEGIN{    if ($BerkeleyDB::db_version < 4.1) {        print "1..0 # Skip: this needs Berkeley DB 4.1.x or better\n" ;        exit 0 ;    }    # Is encryption available?    my $env = new BerkeleyDB::Env @StdErrFile,             -Encrypt => {Password => "abc",	                  Flags    => DB_ENCRYPT_AES	                 };    if ($BerkeleyDB::Error =~ /Operation not supported/)    {        print "1..0 # Skip: encryption support not present\n" ;        exit 0 ;    }}     umask(0);print "1..80\n";        {        eval    {        my $env = new BerkeleyDB::Env @StdErrFile,             -Encrypt => 1,             -Flags => DB_CREATE ;     };     ok 1, $@ =~ /^Encrypt parameter must be a hash reference at/;    eval    {        my $env = new BerkeleyDB::Env @StdErrFile,             -Encrypt => {},             -Flags => DB_CREATE ;     };     ok 2, $@ =~ /^Must specify Password and Flags with Encrypt parameter at/;    eval    {        my $env = new BerkeleyDB::Env @StdErrFile,             -Encrypt => {Password => "fred"},             -Flags => DB_CREATE ;     };     ok 3, $@ =~ /^Must specify Password and Flags with Encrypt parameter at/;    eval    {        my $env = new BerkeleyDB::Env @StdErrFile,             -Encrypt => {Flags => 1},             -Flags => DB_CREATE ;     };     ok 4, $@ =~ /^Must specify Password and Flags with Encrypt parameter at/;    eval    {        my $env = new BerkeleyDB::Env @StdErrFile,             -Encrypt => {Fred => 1},             -Flags => DB_CREATE ;     };     ok 5, $@ =~ /^\Qunknown key value(s) Fred at/;}{    # new BerkeleyDB::Env -Encrypt =>    # create an environment with a Home    my $home = "./fred" ;    #mkdir $home;    ok 6, my $lexD = new LexDir($home) ;    ok 7, my $env = new BerkeleyDB::Env @StdErrFile,             -Home => $home,             -Encrypt => {Password => "abc",	                  Flags    => DB_ENCRYPT_AES	                 },             -Flags => DB_CREATE | DB_INIT_MPOOL ;    my $Dfile = "abc.enc";    my $lex = new LexFile $Dfile ;    my %hash ;    my ($k, $v) ;    ok 8, my $db = new BerkeleyDB::Hash -Filename => $Dfile, 	                             -Env         => $env,				     -Flags       => DB_CREATE, 				     -Property    => DB_ENCRYPT ;    # create some data    my %data =  (		"red"	=> 2,		"green"	=> "house",		"blue"	=> "sea",		) ;    my $ret = 0 ;    while (($k, $v) = each %data) {        $ret += $db->db_put($k, $v) ;    }    ok 9, $ret == 0 ;    # check there are three records    ok 10, countRecords($db) == 3 ;    undef $db;    # once the database is created, do not need to specify DB_ENCRYPT    ok 11, my $db1 = new BerkeleyDB::Hash -Filename => $Dfile, 	                              -Env      => $env,				      -Flags    => DB_CREATE ;    $v = '';				          ok 12, ! $db1->db_get("red", $v) ;    ok 13, $v eq $data{"red"},    undef $db1;    undef $env;    # open a database without specifying encryption    ok 14,  ! new BerkeleyDB::Hash -Filename => "$home/$Dfile";     ok 15,  ! new BerkeleyDB::Env              -Home => $home,             -Encrypt => {Password => "def",	                  Flags    => DB_ENCRYPT_AES	                 },             -Flags => DB_CREATE | DB_INIT_MPOOL ;}{        eval    {        my $env = new BerkeleyDB::Hash              -Encrypt => 1,             -Flags => DB_CREATE ;     };     ok 16, $@ =~ /^Encrypt parameter must be a hash reference at/;    eval    {        my $env = new BerkeleyDB::Hash              -Encrypt => {},             -Flags => DB_CREATE ;     };     ok 17, $@ =~ /^Must specify Password and Flags with Encrypt parameter at/;    eval    {        my $env = new BerkeleyDB::Hash              -Encrypt => {Password => "fred"},             -Flags => DB_CREATE ;     };     ok 18, $@ =~ /^Must specify Password and Flags with Encrypt parameter at/;    eval    {        my $env = new BerkeleyDB::Hash              -Encrypt => {Flags => 1},             -Flags => DB_CREATE ;     };     ok 19, $@ =~ /^Must specify Password and Flags with Encrypt parameter at/;    eval    {        my $env = new BerkeleyDB::Hash              -Encrypt => {Fred => 1},             -Flags => DB_CREATE ;     };     ok 20, $@ =~ /^\Qunknown key value(s) Fred at/;}{        eval    {        my $env = new BerkeleyDB::Btree              -Encrypt => 1,             -Flags => DB_CREATE ;     };     ok 21, $@ =~ /^Encrypt parameter must be a hash reference at/;    eval    {        my $env = new BerkeleyDB::Btree              -Encrypt => {},             -Flags => DB_CREATE ;     };     ok 22, $@ =~ /^Must specify Password and Flags with Encrypt parameter at/;    eval    {        my $env = new BerkeleyDB::Btree              -Encrypt => {Password => "fred"},             -Flags => DB_CREATE ;     };     ok 23, $@ =~ /^Must specify Password and Flags with Encrypt parameter at/;    eval    {        my $env = new BerkeleyDB::Btree              -Encrypt => {Flags => 1},             -Flags => DB_CREATE ;     };     ok 24, $@ =~ /^Must specify Password and Flags with Encrypt parameter at/;    eval    {        my $env = new BerkeleyDB::Btree              -Encrypt => {Fred => 1},             -Flags => DB_CREATE ;     };     ok 25, $@ =~ /^\Qunknown key value(s) Fred at/;}{        eval    {        my $env = new BerkeleyDB::Queue              -Encrypt => 1,             -Flags => DB_CREATE ;     };     ok 26, $@ =~ /^Encrypt parameter must be a hash reference at/;    eval    {        my $env = new BerkeleyDB::Queue              -Encrypt => {},             -Flags => DB_CREATE ;     };     ok 27, $@ =~ /^Must specify Password and Flags with Encrypt parameter at/;    eval    {        my $env = new BerkeleyDB::Queue              -Encrypt => {Password => "fred"},             -Flags => DB_CREATE ;     };     ok 28, $@ =~ /^Must specify Password and Flags with Encrypt parameter at/;    eval    {        my $env = new BerkeleyDB::Queue              -Encrypt => {Flags => 1},             -Flags => DB_CREATE ;     };     ok 29, $@ =~ /^Must specify Password and Flags with Encrypt parameter at/;    eval    {        my $env = new BerkeleyDB::Queue              -Encrypt => {Fred => 1},             -Flags => DB_CREATE ;     };     ok 30, $@ =~ /^\Qunknown key value(s) Fred at/;}{        eval    {        my $env = new BerkeleyDB::Recno              -Encrypt => 1,             -Flags => DB_CREATE ;     };     ok 31, $@ =~ /^Encrypt parameter must be a hash reference at/;    eval    {        my $env = new BerkeleyDB::Recno              -Encrypt => {},             -Flags => DB_CREATE ;     };     ok 32, $@ =~ /^Must specify Password and Flags with Encrypt parameter at/;    eval    {        my $env = new BerkeleyDB::Recno              -Encrypt => {Password => "fred"},             -Flags => DB_CREATE ;     };     ok 33, $@ =~ /^Must specify Password and Flags with Encrypt parameter at/;    eval    {        my $env = new BerkeleyDB::Recno              -Encrypt => {Flags => 1},             -Flags => DB_CREATE ;     };     ok 34, $@ =~ /^Must specify Password and Flags with Encrypt parameter at/;    eval    {        my $env = new BerkeleyDB::Recno              -Encrypt => {Fred => 1},             -Flags => DB_CREATE ;     };     ok 35, $@ =~ /^\Qunknown key value(s) Fred at/;}{    # new BerkeleyDB::Hash -Encrypt =>    my $Dfile = "abcd.enc";    my $lex = new LexFile $Dfile ;    my %hash ;    my ($k, $v) ;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -