数据库里面的值是用dbkey加密的。可以这样来解密
java -classpath /usr/share/cloudstack-common/lib/jasypt-1.9.0.jar
org.jasypt.intf.cli.JasyptPBEStringDecryptionCLI decrypt.sh
password="(dbkey)" input="(secretkey in db)"

如果不记得dbkey,可以用management key(/etc/cloudstack/management/key)来解密
java -classpath /usr/share/cloudstack-common/lib/jasypt-1.9.0.jar
org.jasypt.intf.cli.JasyptPBEStringDecryptionCLI decrypt.sh
password="(mgtkey)" input="(db.cloud.encrypt.secret in db.properties)"


cloudstack使用的是PBEWithMD5AndDES进行加密解密,所以不是一定要用java命令行,各种编程语言都有对应的加密解密函数。



在 2013年11月14日上午1:54,evanitsharp <evanitsh...@gmail.com>写道:

> CloudStack4.0.2中直接从数据库读取的SecretKey和调用API(listUsers)获取的为什么不一样呢?
>
>
>
>
> evanitsharp

回复