Java PayTM校验和在Android活动中出现异常错误,但在主方法中工作正常

Java PayTM校验和在Android活动中出现异常错误,但在主方法中工作正常,java,android,android-studio,java-security,paytm,Java,Android,Android Studio,Java Security,Paytm,我正在尝试将Paytm与我的android应用程序集成。 当我通过我的活动生成paytm校验和时,我得到以下异常 I/System.out: MerchantActivity.java checkSumGenerationOnload-method Starts I/System.out: ChecksumGeneration.java getCheckSum-method Starts I/System.out: ----------------------------- 40c19e

我正在尝试将Paytm与我的android应用程序集成。 当我通过我的活动生成paytm校验和时,我得到以下异常

I/System.out: MerchantActivity.java checkSumGenerationOnload-method Starts
I/System.out: ChecksumGeneration.java getCheckSum-method Starts
I/System.out: -----------------------------
    40c19e8b2516d6e057c8027826724fac33d3bf60ac8d697569d422571ae46321fro3
    -----------------------------
W/System.err: java.security.NoSuchProviderException: No such provider: SunJCE
W/System.err:     at javax.crypto.Cipher.getInstance(Cipher.java:466)
        at com.paytm.pg.crypto.AesEncryption.encrypt(AesEncryption.java:34)
        at com.paytm.pg.merchant.CheckSumServiceHelper.genrateCheckSum(CheckSumServiceHelper.java:53)
        at com.example.merchantapp.ChecksumGeneration.getCheckSum(ChecksumGeneration.java:40)
W/System.err:     at com.example.merchantapp.MerchantActivity.checkSumGenerationOnload(MerchantActivity.java:41)
但是当我在主方法中运行时,同样的方法给出了正确的结果

日志跟踪:

getCheckSumChecksumGeneration.java getCheckSum-method Starts
checkSum: 3kLAvt33DJwodOF/vAPOqrW4LDN3bPbyEBXX10sjgFdjdp6CIS36H4kFj8lwUBnDHEzpo7J0CZlcmi3RCWZQAzN82zi/pPv7vH86iFf3MKU=
ChecksumGeneration.java getCheckSum-method Ends
代码片段: 活动课-有问题

公共类生成{
//以下参数由Paytm提供
私有静态字符串MID=“MyLife19xxxxxxx”;
私有静态字符串merchantkey=“WtxzWMOnZIj0ddU_2;”;
私有静态字符串行业\u TYPE\u ID=“零售”;
专用静态字符串CHANNLE_ID=“WAP”;
私有静态字符串网站=“APPSTAGING”;
私有静态字符串回调_URL=”https://securegw-stage.paytm.in/theia/paytmCallback?ORDER_ID=ORDER45676";
公共静态void main(字符串s[]{
系统输出打印(“获取校验和”);
getCheckSum();
}
公共静态字符串getCheckSum(){
字符串校验和=null;
TreeMap paramMap=新的TreeMap();
paramMap.put(“中间”,中间);
paramMap.put(“订单ID”、“订单45676”);
参数映射put(“客户ID”、“客户02513”);
paramMap.put(“行业类型ID”,行业类型ID);
paramMap.put(“通道ID”,通道ID);
paramMap.put(“TXN_金额”,“1.00”);
paramMap.put(“网站”,网址);
paramMap.put(“EMAIL”,“thiruppati”。me@gmail.com");
参数映射put(“手机号”、“99425xxxxx”);
put(“回调URL”,回调URL);
试一试{
System.out.println(“ChecksumGeneration.java getCheckSum方法启动”);
checkSum=CheckSumServiceHelper.getCheckSumServiceHelper().genrateCheckSum(merchantkey,paramMap);
System.out.println(“校验和:+校验和”);
paramMap.put(“CHECKSUMHASH”,校验和);
System.out.println(“ChecksumGeneration.java getCheckSum方法结束”);
}捕获(例外e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
返回校验和;
}
}

也发布您的代码我没有看到thta,它在哪里?只是在我的问题中添加了代码片段。ChecksumGeneration.getCheckSum()怎么样?您也可以发布吗?抱歉,完成了。:)
public class ChecksumGeneration {

    //Below parameters provided by Paytm

    private static String MID = "MyLife19xxxxxxx";
    private static String MercahntKey = "WtxzWMOnZIj0ddU_";
    private static String INDUSTRY_TYPE_ID = "Retail";
    private static String CHANNLE_ID = "WAP";
    private static String WEBSITE = "APPSTAGING";
    private static String CALLBACK_URL =  "https://securegw-stage.paytm.in/theia/paytmCallback?ORDER_ID=ORDER45676";

    public static void main(String s[]){
        System.out.print("getCheckSum");
        getCheckSum();
    }

    public static String getCheckSum(){

        String checkSum = null;

        TreeMap<String,String> paramMap = new TreeMap<String,String>();
        paramMap.put("MID" , MID);
        paramMap.put("ORDER_ID" , "ORDER45676");
        paramMap.put("CUST_ID" , "CUST02513");
        paramMap.put("INDUSTRY_TYPE_ID" , INDUSTRY_TYPE_ID);
        paramMap.put("CHANNEL_ID" , CHANNLE_ID);
        paramMap.put("TXN_AMOUNT" , "1.00");
        paramMap.put("WEBSITE" , WEBSITE);
        paramMap.put("EMAIL" , "thiruppathi.me@gmail.com");
        paramMap.put("MOBILE_NO" , "99425xxxxx");
        paramMap.put("CALLBACK_URL" , CALLBACK_URL);

        try{
        System.out.println("ChecksumGeneration.java getCheckSum-method Starts");
        checkSum =  CheckSumServiceHelper.getCheckSumServiceHelper().genrateCheckSum(MercahntKey, paramMap);
        System.out.println("checkSum: "+ checkSum);

        paramMap.put("CHECKSUMHASH" , checkSum);

        System.out.println("ChecksumGeneration.java getCheckSum-method Ends");

        }catch(Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        return checkSum;
    }
}