[F] Fix encryption

This commit is contained in:
Azalea 2024-02-22 22:19:12 -05:00
parent a9a947203d
commit 84f7953f21
2 changed files with 10 additions and 5 deletions

View File

@ -10,14 +10,18 @@ import org.springframework.context.annotation.Scope
import org.springframework.stereotype.Component
/**
* @author samnyan (privateamusement@protonmail.com)
* A new decoder object will be created each time a new request comes in
*/
@Component
@Scope(BeanDefinition.SCOPE_PROTOTYPE)
class AimeDbDecoder : ByteToMessageDecoder() {
var length = 0
var length: Int = 0
val logger: Logger = LoggerFactory.getLogger(AimeDbDecoder::class.java)
init {
logger.info("AimeDB Decoder Created")
}
/**
* Decrypt the incoming request including frame management
* @param ctx ChannelHandlerContext

View File

@ -12,9 +12,10 @@ import javax.crypto.spec.SecretKeySpec
*/
object AimeDbEncryption {
val KEY = SecretKeySpec("Copyright(C)SEGA".toByteArray(StandardCharsets.UTF_8), "AES")
val cipher = Cipher.getInstance("AES/ECB/NoPadding").apply { init(Cipher.ENCRYPT_MODE, KEY) }
val enc = Cipher.getInstance("AES/ECB/NoPadding").apply { init(Cipher.ENCRYPT_MODE, KEY) }
val dec = Cipher.getInstance("AES/ECB/NoPadding").apply { init(Cipher.DECRYPT_MODE, KEY) }
fun decrypt(src: ByteBuf) = copiedBuffer(cipher.doFinal(ByteBufUtil.toBytes(src)))
fun decrypt(src: ByteBuf) = copiedBuffer(dec.doFinal(ByteBufUtil.toBytes(src)))
fun encrypt(src: ByteBuf) = copiedBuffer(cipher.doFinal(ByteBufUtil.toAllBytes(src)))
fun encrypt(src: ByteBuf) = copiedBuffer(enc.doFinal(ByteBufUtil.toAllBytes(src)))
}