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"; }