49 lines
1.5 KiB
Kotlin
49 lines
1.5 KiB
Kotlin
package com.aitrainer.api
|
|
|
|
import org.jasypt.encryption.StringEncryptor
|
|
import org.jasypt.encryption.pbe.PooledPBEStringEncryptor
|
|
import org.jasypt.encryption.pbe.config.SimpleStringPBEConfig
|
|
import org.slf4j.LoggerFactory
|
|
import org.springframework.boot.SpringApplication
|
|
import org.springframework.boot.autoconfigure.SpringBootApplication
|
|
import org.springframework.boot.builder.SpringApplicationBuilder
|
|
import org.springframework.context.annotation.Bean
|
|
|
|
|
|
@SpringBootApplication
|
|
class ApiApplication {
|
|
@Bean(name = ["jasyptStringEncryptor"])
|
|
fun stringEncryptor(): StringEncryptor? {
|
|
val encryptor = PooledPBEStringEncryptor()
|
|
val config = SimpleStringPBEConfig()
|
|
config.password = "workouttest"
|
|
config.algorithm = "PBEWithMD5AndDES"
|
|
config.setKeyObtentionIterations("1000")
|
|
config.setPoolSize("1")
|
|
config.providerName = "SunJCE"
|
|
config.setSaltGeneratorClassName("org.jasypt.salt.RandomSaltGenerator")
|
|
config.stringOutputType = "base64"
|
|
encryptor.setConfig(config)
|
|
return encryptor
|
|
}
|
|
}
|
|
|
|
private val logger = LoggerFactory.getLogger(ApiApplication::class.simpleName)
|
|
|
|
@Override
|
|
fun configure(application: SpringApplicationBuilder): SpringApplicationBuilder {
|
|
return application.sources(ApiApplication::class.java)
|
|
}
|
|
|
|
fun main(args: Array<String>) {
|
|
logger.info(" ---- Start aitrainer API")
|
|
val app = SpringApplication(ApiApplication::class.java)
|
|
app.setAdditionalProfiles("ssl")
|
|
app.run(*args)
|
|
}
|
|
|
|
|
|
|
|
|
|
|