将 CC Avenue 与 Ionic 4 应用程序集成,并以 Node js 作为后端。需要有关加密和将数据发布到 InApp 浏览器 Web 视图中的帮助

问题描述 投票:0回答:1

我正在将 CC avenue 集成到 Ionic4 应用程序中,并将 Node JS 作为我的后端。 Node JS API 已被 CC Avenue 列入白名单,因为这是集成 CC Avenue 的第一步。我有在 API 中获取 RSA 密钥的方法。我无法弄清楚如何发布加密的参数并在新浏览器窗口中使用重定向和取消 URL 打开它。

  initPayment() {
    this.authService.initPayment().then(
      res => {
        this.paymentParams = new PaymentParams();
        this.paymentParams.orderId = JSON.parse(res).order_id;
        this.paymentParams.amount = JSON.parse(res).amount;
        this.paymentParams.currency = JSON.parse(res).currency;
        this.paymentParams.merchantId = JSON.parse(res).merchant_id;
        this.paymentParams.accessCode = JSON.parse(res).access_code;
        this.paymentParams.cancelUrl = JSON.parse(res).redirect_url;
        this.paymentParams.redirectUrl = JSON.parse(res).cancel_url;
        this.paymentParams.transUrl = JSON.parse(res).trans_url;
        this.paymentParams.rsaKeyURL = JSON.parse(res).rsa_key_uRL;
        alert(JSON.stringify(this.paymentParams));
        this.getRSA(this.paymentParams.orderId); // Gets the RSA key from CC Avenue
        const payLink = this.inappBrowser.create(`${this.paymentParams.transUrl}`); // Here I want toadd the encryption for posting into Webview
      },
      err => {
        alert(JSON.parse(err));
      }
    );
  }

下面是CC avenue提供的用Java编写的RSA实用程序。我正在尝试使用 Ionic4 中的打字稿获得类似的加密。

public class RSAUtility {
    public static String encrypt(String plainText, String key){
        try{
            PublicKey publicKey = KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(Base64.decode(key, Base64.DEFAULT)));
            Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");
            cipher.init(Cipher.ENCRYPT_MODE, publicKey);
            return Base64.encodeToString(cipher.doFinal(plainText.getBytes("UTF-8")),Base64.DEFAULT);
        }catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
}
node.js ionic4 ccavenue
1个回答
0
投票

这可能会帮助您加密和解密 ccavenue (aes-128-cbc) :

https://gist.github.com/vikrambiwal/a5de9547e9f26e30134a74e6fb309dff

© www.soinside.com 2019 - 2024. All rights reserved.