Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.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
Spring和Java编码器中数据库密码和用户登录密码的安全性如何?_Java_Spring_Spring Security - Fatal编程技术网

Spring和Java编码器中数据库密码和用户登录密码的安全性如何?

Spring和Java编码器中数据库密码和用户登录密码的安全性如何?,java,spring,spring-security,Java,Spring,Spring Security,大家好。我让应用程序witch与数据库(Hibernate)和springmvc一起工作。问题是我将所有密码存储在数据源的应用程序配置文件中: <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <!-- Using and configuring C3P0 proxy --> <property name="driverClass"><valu

大家好。我让应用程序witch与数据库(Hibernate)和springmvc一起工作。问题是我将所有密码存储在数据源的应用程序配置文件中:

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <!-- Using and configuring C3P0 proxy -->
        <property name="driverClass"><value>org.h2.Driver</value></property>
        <property name="jdbcUrl"><value>jdbc:h2:/home/vadim/workspace-sts-3.1.0.RELEASE/h2/EDUCATION</value></property>
        <property name="user"><value>sa</value></property>
        <property name="password">password<value></value></property>
        <property name="initialPoolSize"><value>3</value></property> <!-- Number of Connections a pool will try to acquire upon startup -->
        <property name="minPoolSize"><value>1</value></property> <!-- Minimum connection pool size -->
        <property name="maxPoolSize"><value>20</value></property> <!-- Max connection pool size -->
        <property name="maxConnectionAge"><value>3600</value></property> <!-- Set max connection age to 1 hour, after it will release -->
        <property name="maxIdleTime"><value>600</value></property> <!-- 10 minutes connection can stay unused before be discarded -->
        <property name="checkoutTimeout"><value>200000</value></property> <!-- Each what time check for unused connections -->
        </bean>

org.h2.Driver
jdbc:h2:/home/vadim/workspace-sts-3.1.0.RELEASE/h2/EDUCATION
sa
密码
3.
1.
20
3600
600
200000
以及安全上下文中用户和管理员的登录密码:

<security:authentication-manager>
<security:authentication-provider>
<security:password-encoder hash="sha-256" base64="true"/>
<security:user-service>
<security:user name="user" password="user" authorities="ROLE_USER"/>
<security:user name="admin" password="admin" authorities="ROLE_ADMIN"/>
</security:user-service>
</security:authentication-provider>
</security:authentication-manager>


我如何为其他人保护它们?我必须制作自定义编码器,以使用消息摘要Spring或java安全性保护它们免受任何其他类型的攻击。编码器算法是服务的一部分还是前端层???开关层必须有我的编码器实现。谢谢大家。

< P>加密属性,考虑使用,它集成了。例如,您可以定义加密属性:

datasource.password=ENC(G6N718UuyPE5bHyWKyuLQSm02auQPUtm)
然后创建一个
EncryptablePropertyPlaceHolderConfigure
bean,它允许您像通常一样引用属性-它们会为您解密:

...
<property name="password" value="${datasource.password}"/>
...
。。。
...

这与您的示例所描述的不完全一样,但这可能是一个很好的起点

对于大多数现代应用程序,真正的秘密是密钥或密码,而不是算法


您可以使用加密spring配置文件中的用户/密码或其他属性。Jasypt还提供了PropertySource或PropertyPlaceHolderConfigure等配置文件

谢谢您,先生,您的回答太棒了。我不擅长加密问题,正如我在文章中所说,security-context.xml中的其他部分(如sha-256)如何。它是否适用于用户和管理员密码,是否必须检查sha-256变体中的管理员和用户密码以及其他内容。它应该如何工作??更多的是服务层还是前端层?我已经有一段时间没有使用Spring Security了,也许你也可以参数化这个值?例如,
password=“${user.password}”
。嘿。如果我将使用JackSum从我的明文密码生成sha。它是否是一个伟大的想法,以及它是如何实现的;这会起作用的,没有人能解密回明文。顺便问一下,我的数据库密码是H2。谢谢你,恐怕我不太乐意提供加密方面的建议。我敦促你们做更多的研究,或者在这里发布更多关于堆栈溢出的问题。我只是知道哈希不是我想要的,因为它证明了数据的完整性。对此感到困惑。但是加密隐藏了我的数据。我用sha-256散列来隐藏我的密码,而不是加密。谢谢你,先生,你的回答太棒了。我不擅长加密问题,正如我在文章中所说,security-context.xml中的其他部分(如sha-256)如何。它是否适用于用户和管理员密码,是否必须检查sha-256变体中的管理员和用户密码以及其他内容。它应该如何工作??