OGG中配置文件密码加密方法
相信使用过OGG的朋友都知道,在OGG的源端和目标端的进程配置文件中都会有登录对应数据库的用户密码的明文,所以相对来说不是很安全,那么对密码进行加密就必不可少,下面给大家介绍两种OGG自己的加密方法。
一、使用Oracle默认生成KEY的加密方法:
GGSCI (testdb) 31> encrypt password ogg,ENCRYPTKEY default
Using default key...
Encrypted password: AACAAAAAAAAAAADAHBLDCCIIOIRFNEPB
这里没有指定加密算法,默认是使用AES128算法,会生成一串秘钥,可以使用加密之后的秘钥登录数据库进行测试。
GGSCI (testdb) 45> dblogin userid ogg, password AACAAAAAAAAAAADAHBLDCCIIOIRFNEPB,ENCRYPTKEY default
Successfully logged into database.
显然测试时成功的,之后将生成的秘钥替换配置文件中的密码明文
GGSCI (testdb) 35> edit params ext1
EXTRACT EXT1
setenv ( NLS_LANG = AMERICAN_AMERICA.ZHS16GBK )
USERID ogg,PASSWORD AACAAAAAAAAAAADAHBLDCCIIOIRFNEPB,ENCRYPTKEY default
exttrail /home/oracle/ggs/dirdat/k1
DYNAMICRESOLUTION
DDL INCLUDE MAPPED
DDLOPTIONS ADDTRANDATA,REPORT
FETCHOPTIONS, USESNAPSHOT, NOUSELATESTVERSION, MISSINGROW REPORT
STATOPTIONS REPORTFETCH
WARNLONGTRANS 1H, CHECKINTERVAL 5M
TABLE username.*;
然后重启进程就OK了,是不是很简单,但是这种加密方法,弊端很多,oracle也建议不要在生产库上使用这种加密方式,切忌!!
所以下面给大家介绍第二种方法
二、使用特定的Key的加密方法
[oracle@testdb ggs]$ ./keygen 128 1
0xB793945154E4C74F9AF5D050E200E429
这里的128代表128位的加密算法,1表示生成几个key。
然后把这串key值copy到一个ENCKEYS file(保存名为:ENCKEYS )中,内容如下:
kasaur_key 0xB793945154E4C74F9AF5D050E200E429
然后使用这个秘钥生成加密后的用户口令
GGSCI (testdb) 1> encrypt password ogg encryptkey kasaur_key
Encrypted password: AACAAAAAAAAAAADAFFCJKAOBLIPGBHBB
GGSCI (testdb) 2> dblogin userid ogg,password AACAAAAAAAAAAADAFFCJKAOBLIPGBHBB,encryptkey kasaur_key
Successfully logged into database.
显然测试成功,之后重启进程就OK了,相比较第一种方法,其实就是在说横撑用户口令时,第一种是使用默认的方法生成,第二种是生成指定的KEY之后再生成口令,相对安全。
参考自:http://blog.itpub.net/25618347/viewspace-722144/