sql >> Database teknologi >  >> RDS >> Mysql

applikationen forbinder til databasen

Tag et kig på Jasypt , det er et java-bibliotek, som giver udvikleren mulighed for at tilføje grundlæggende krypteringsmuligheder til sine projekter med minimal indsats og uden behov for at have dyb viden om, hvordan kryptografi fungerer.

Hvis du bruger Spring, kan du definere dine db.properties som:

 jdbc.driver=com.mysql.jdbc.Driver
 jdbc.url=jdbc:mysql://localhost/yourdb
 jdbc.username=userName
 jdbc.password=ENC(A6L729KukPEx7Ps8didIUWb01fdBRh7d)

og konfigurer det med Jasypt og Spring som:

<bean class="org.jasypt.spring.properties.EncryptablePropertyPlaceholderConfigurer">
   <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/db.properties</value>
     </list>
   </property>   
</bean>

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="${jdbc.driverClassName}"/>
    <property name="url" value="${jdbc.url}"/>
    <property name="username" value="${jdbc.username}"/>
    <property name="password" value="${jdbc.password}"/>
</bean>

Dette ville skjule den faktiske adgangskode (du kan gøre det samme for username ) fra elever, så de ville ikke være i stand til at udlede forbindelsesstrengen ved at se på egenskabsfilen.

Hvis du ikke bruger Spring, er her en Jasypt-vejledning for at opnå det samme "manuelt"




  1. Mysql-forespørgselsproblem

  2. Care To Know-klausuler:Alt om SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY og LIMIT

  3. PDO::forespørgsel vs. PDOStatement::execute (PHP og MySQL)

  4. Brugerdefinerede numeriske formatstrenge understøttet af FORMAT() i SQL Server