使用birt会发现,birt对输入的密码时行了加密:
<encrypted-property name="odaPassword" encryptionID="base64">cnksMTIz</encrypted-property>
这个密码原码为:ry,123,但加密后变为了cnksMTIz
如果想动态配置数据源,自然就会想在使用过程中直接修改与数据源相关的四个参数:driver, url, username,password,如果在java中直接像修改xml的方式修改rptdesign文件,需先将password使用base64算法进行加密后,才能再将其替换到rptdesign文件中。
加密方法为:
String password = "ry,123";
String Encodepwd = null; //加密后的密码
Encodepwd = (new sun.misc.BASE64Encoder()).encode(password.getBytes());
这时会发现Encodepwd已经为cnksMTIz了,即为birt默认的加密后的值了。