Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取错误org.jasypt.exceptions.EncryptionInitializationException:未为基于密码的加密程序设置密码_Java_Jasypt - Fatal编程技术网

Java 获取错误org.jasypt.exceptions.EncryptionInitializationException:未为基于密码的加密程序设置密码

Java 获取错误org.jasypt.exceptions.EncryptionInitializationException:未为基于密码的加密程序设置密码,java,jasypt,Java,Jasypt,我使用jasypt-1.9.0进行加密 Jdbc.properties jdbc.driverClassName=oracle.jdbc.driver.OracleDriver jdbc.url=jdbc:oracle:thin:@localhost:1521:ORCL jdbc.username=testuser jdbc.password=ENC(lKmVnTVL3zSJXrZpwFmhd6crSHLzYihH) hibernate.dialect=org.hibernate.dialect

我使用jasypt-1.9.0进行加密

Jdbc.properties

jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
jdbc.url=jdbc:oracle:thin:@localhost:1521:ORCL
jdbc.username=testuser
jdbc.password=ENC(lKmVnTVL3zSJXrZpwFmhd6crSHLzYihH)
hibernate.dialect=org.hibernate.dialect.OracleDialect
jpa.databasePlatform=toplink.hibernate.EssentialsHSQLPlatformWithNative
jpa.database=ORCL
C:\jasypt-1.9.0\bin>加密输入=testuser密码=testuser ----环境----------------- 运行时:Sun Microsystems Inc.Java HotSpot(TM)客户端VM 1.5.0_17-b04 ----论据------------------- 输入:testuser 密码:testuser ----输出---------------------- lKmVnTVL3zSJXrZpwFmhd6crSHLzYihH 我从你的一个网站上得到了参考资料。我正在使用多个上下文文件。我有 配置

<bean
class="org.jasypt.spring.properties.EncryptablePropertyPlaceholderConfi
gurer">
<constructor-arg>
<bean class="org.jasypt.encryption.pbe.StandardPBEStringEncryptor">
<property name="config">
<bean
class="org.jasypt.encryption.pbe.config.EnvironmentStringPBEConfig">
<property name="algorithm" value="PBEWithMD5AndDES" />
<property name="passwordEnvName" value="APP_ENCRYPTION_PASSWORD" />
</bean>
</property>
</bean>
</constructor-arg>
<property name="locations">
<list>
<value>classpath:/META-INF/props/db/jdbc.properties</
value>
</list>
</property>
</bean>

<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName"
value="${jdbc.driverClassName}" ></property>

<property name="url"
value="${jdbc.url}" ></property>
<property name="username"
value="${jdbc.username}" ></property>
<property name="password"
value="${jdbc.password}"></property>
<property name="initialSize" value="10"> </property>
<property name="maxActive"
value="30"> </property>
<property name="maxIdle"
value="10"> </property>
<property name="maxWait"
value="5000"> </
property>
<property name="removeAbandoned"
value="true"> </
property>
<property name="logAbandoned"
value="true"> </
property>

</bean>

classpath:/META-INF/props/db/jdbc.properties
当我登录我的应用程序时,我收到错误::

org.jasypt.exceptions.EncryptionInitializationException:密码不是 设置基于密码的加密程序

您的“APP\u ENCRYPTION\u PASSWORD”属性似乎未正确设置为环境变量。请参阅链接以检查是否已将其正确设置为环境变量。要检查其余配置是否存在问题,请将
更改为
,并将此处的\u纯文本\u密码\u替换为纯文本密码,以测试其余配置是否正常工作

要在Windows XP中将APP_ENCRYPTION_PASSWORD设置为环境变量,请参见以下内容


或者,您可以在运行程序时将密码作为vm参数传入。如果它是一个独立的程序,您将通过main-DAPP_ENCRYPTION_PASSWORD=your_PASSWORD传递它。如果是web应用程序,则在启动服务器时必须传递相同的参数。请参阅关于如何为tomcat做到这一点的问题。然后在spring配置中,设置环境变量后,将
替换为

。请重新启动eclipse。 你不能面对这个问题。如果问题仍然存在,请尝试通过以下代码查找环境变量

Map<String, String> env = System.getenv();
            for (String envName : env.keySet()) {
                System.out.format("%s=%s%n", envName,
                                  en`enter code here`v.get(envName));
            } 
Map env=System.getenv();
for(字符串envName:env.keySet()){
System.out.format(“%s=%s%n”,envName,
en`在此处输入代码`v.get(envName));
} 

您是否已将APP_ENCRYPTION_PASSWORD设置为环境变量?我已在此处使用您的\u明文_PASSWORD_检查我的配置,输入其工作正常。使用命令提示符C:\jasypt-1.9.0\bin>设置APP_ENCRYPTION_PASSWORD='LKMVNTVL3ZSJXRZPWFMHD6CRSHLZYIH'后仍会出现相同的错误。我最近两天一直在挣扎,请帮助我,谢谢我已经使用您的“纯文本”密码检查了我的配置,在这里输入它工作正常。使用命令提示符C:\jasypt-1.9.0\bin>set APP_ENCRYPTION\u PASSWORD='LKMVNTVL3ZSJXRZPWFMHD6CRSHLZYIH'后仍然出现相同的错误。最近两天来我一直在苦苦挣扎,请帮助我,谢谢你使用的是什么操作系统和版本?嗨,jeshurun,我已经在windows中设置了环境变量variable Name=APP\u ENCRYPTION\u PASSWORD variable Value=LKMVNTVL3ZSJXRZPWFMHD6CRSHLZYIH将passwordEnvName更改为passwordSysPropertyName,但我仍然收到相同的错误,我不明白我要做什么。是my app servr(JBOSS)所需的任意项。如果将其设置为windows环境变量,则不要将passwordEnvName更改为passwordSysPropertyName。仅当您将其作为启动参数传递给应用程序服务器(在设置显示错误org.jasypt.exceptions.EncryptionOperationNotPossibleeException的windows环境变量后,使用-D=syntax.set passwordEnvName)时才进行更改
Map<String, String> env = System.getenv();
            for (String envName : env.keySet()) {
                System.out.format("%s=%s%n", envName,
                                  en`enter code here`v.get(envName));
            }