From 4ee8318869ed3f71bd1eee08a3d0b65dcf2f59b3 Mon Sep 17 00:00:00 2001 From: YuCheng Hu Date: Fri, 3 Feb 2023 16:06:34 -0500 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=8A=A0=E5=AF=86=E5=92=8C?= =?UTF-8?q?=E8=A7=A3=E5=AF=86=E7=9A=84=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 13 ++++++++++- .../service/GoogleEncryptionService.java | 23 ++++++++++++++++++- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index b321cee..ab974e2 100644 --- a/pom.xml +++ b/pom.xml @@ -35,13 +35,24 @@ + + com.google.doubleclick + doubleclick-openrtb + 2.0.4-SNAPSHOT + pom + + org.slf4j slf4j-api 1.7.36 - + + commons-codec + commons-codec + 1.15 + org.projectlombok lombok diff --git a/src/main/java/com/ossez/framework/service/GoogleEncryptionService.java b/src/main/java/com/ossez/framework/service/GoogleEncryptionService.java index 23bf7ee..588afa0 100644 --- a/src/main/java/com/ossez/framework/service/GoogleEncryptionService.java +++ b/src/main/java/com/ossez/framework/service/GoogleEncryptionService.java @@ -1,11 +1,15 @@ package com.ossez.framework.service; import com.fasterxml.jackson.databind.ObjectMapper; +import com.google.doubleclick.crypto.DoubleClickCrypto; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.Base64Utils; + +import javax.crypto.spec.SecretKeySpec; +import java.security.InvalidKeyException; -import java.io.IOException; /** * @author YuCheng @@ -28,6 +32,23 @@ public class GoogleEncryptionService { */ public String decryptPrice(String url) { + String encryptionKey ="encryption"; + String integrityKey = "integrityKey"; + ; + DoubleClickCrypto.Keys keys = null; + try { + keys = new DoubleClickCrypto.Keys( + new SecretKeySpec(Base64Utils.encode(encryptionKey.getBytes()), "HmacSHA1"), + new SecretKeySpec(Base64Utils.encode(integrityKey.getBytes()), "HmacSHA1")); + } catch (InvalidKeyException e) { + throw new RuntimeException(e); + } + + DoubleClickCrypto.Price crypto = new DoubleClickCrypto.Price(keys); + +// String encodedPrice = httpRequest.getHeader("price"); +// double price = crypto.decodePriceValue(encodedPrice); + return "my-decryptPrice-String"; }