如果用户想打开钱夹,必须具有alter system权限。
下面打开wallet:
SQL> conn / as sysdba
Connected.
SQL> alter system set wallet open identified by "welcome1";
System altered.
SQL> conn dodd/dodd123
Connected.
SQL> select * from test;
ID CREDIT_CARD_NUMB
---------- ----------------
1 1231243242
2 33245235
可以看到,加密钱夹打开后,数据可以被解密。
还有一条:sys用户的表不能被加密。
可见:Oracle TDE是在数据层面上对表里的数据加密,而且不会影响数据库现有的权限控制策略。
l salt实际上就是在加密过程中引入一个随机性。简单的说,就是一般来说,同样的明文产生同样的密文,这样就导致容易被解密者通过分析词频之类的方式(加解密我不太懂)来通过密文破解明文,如果指定salt,那么即使同样的明文加密后的密文也是不一样的。
no salt的话,自然就是相同的明文会产生相同的密文了。对于索引来说,要求no salt也就可以理解了
丢失ewallet加密钱夹的话,是不能再解密数据的。
Oracle 10gR2的 TDE 特性,对于防止机密信息的泄漏能起到事半功倍的作用!
SQL> Select cash from credit_card where card_id = '1025023590';
Oracle 数据库将使用现有的应用程序索引,尽管 card_id信息已经在数据库中加密。

