java调用dll做加解密试例

             注意打包的dll打包路径和 Cacipher路径一致
package org.ezca.sm2crypt;

import com.sun.org.apache.xml.internal.security.exceptions.Base64DecodingException;
import com.sun.org.apache.xml.internal.security.utils.Base64;

public class Cacipher {
	public native String Sm2Decrypt(byte[] inData);
	public native byte[] Sm2Encrypt(String inData);

	static{
		System.loadLibrary("Sm2Crypt");
	}

	//加密
	public  byte[] encode(byte[] data) {
			return Sm2Encrypt(Base64.encode(data));
	}

	//解密
	public  byte[] decode(byte[] encData) {
		try {
			return Base64.decode(Sm2Decrypt(encData));
		} catch (Base64DecodingException e) {
			e.printStackTrace();
		}
		return null;
	}

	public static void main(String[] args) {
		Cacipher t=new Cacipher();
		String aa="MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCfOt1u1Z656VqwR0TiP9UFmxkjMjCCK33rc1CXzxTNQ+Ahm/FeN8VwCORi0CyT+Z30EJUoGCj3Kz186Q3NZn1Ay8f/4yUyv6LFYhu/RyWM2/LrVnUn/ar9sTzi7QzRHbXixRMnGXQ3Tf9yqjmmTlO50yhqNLZZE/s/ITxXX/tw30vitggANZEB0xRk9wpnwYmqGp/Zrr8+CyjqhMef7TsF20eCBYzQ+nOwpl2TDDVm7Wzgx9YAqxLgxQDjpBdqTXkSfqv/HRogRDSyQyrEDp7nTzV4NiDWK3nmM2WM8X2+zFuhJ/xBB+lBLWqXkwlZwQIrVil+q8dE0k0AAM6n1EmRAgMBAAECggEAFDvet57dtLI6m/vyfO2vnC7BWv+dumzca3cT3rap5guiB6NRYK+lnz8CBqx9fbBSqhkRWy72xbHw9laHMnq7n+hFWfb7Wx+PB5YYAI6B7wxkKhOqf5J0kBhdrFiDMG+eFVsFvAo4Am8e7utCuCdr7Ekw8Y4RPfCUFMmcaV4BDa6fHd21XoofR6vNNlgbJFaXxyhidOu7ECJmQa3WeT273RtcQSRMaIioNRNI9rPKNOPqZ4xp8YPjl/SxQSRRgOwylKH/F9S9UXF/fG+/5qY4Y3waoe0ztCDfohjVYVxYl3N+MzT/ICCkRV8tT0RsUkjEl5oNcnXfFfnE4yMfkQJKAQKBgQDK6wzs9182nDQSreMOXGHknVxGwoewHrsWni1ZgqhVD3DDImxFbqTzlVe2zbW0JxmgHMtlEur4qj2+6Vqg4vykK4nXwDkie70fB5Kamg6E+14HpZOiK3shFlVXaWg/zo0nHW5BhzvWLM3xQgxHHZ9MPSn7H8glYacr04kbEeKbmQKBgQDI4h4QFWUNXqQFVoPUzpQk/veY3anjOu77y1reR+3uum+jtmP9ddoG8GkGXyLVk/0iuuxpH34KHDTWlA9YXZSY33AqQrUVs1GxJmjeK0mo/j9wR/FC3jDYmQNzY6rfY7PXmQWla1tPJP1FP1cvtTZm+sGLME8M/TWds/e9yYeYuQKBgF9InFsxlZ4ZH0KeMH5v1u/5DHmVow2KgKOQRw8/EThP9c1LfrfjysUunW+TjP05VwkePEwL5BY8Kp5ZCVt++s9EOof7FVkh7Z6Cec7rBGJhfrfsgjSmYj0ZNZ3EO1Wq8hEp+rn+fJSHmXTuZMGIIWM1XV80f1E+V7d2r2zsqxIRAoGBAJ0iQuHR2nnazfJe+kA8VyWZS5QH0BwuvUG4kBvPqA5VR36H7S8WQLWs2HpjcJwgZqIEFWkleTHvXmV664XzrYjnPpXQGFYhLoWjxeQDeFr4hicOH2pu40aKamiYTdDv7H149TGwCHygMn04TrrCxQtImpyF7U/7wTTa0a9jNO4BAoGBAIV4VLBS1JcoIio1Z3Oxx8B7il0FJ2hqVOhHeIyHxyMv1skJGj6Qn8C89+I8iaqwwhABzbtVb/NYVqTwHaVR7c75gtenD3zydSf138aWCySns0/+SYLSo3wXRPIGOEaF+rRz1nxZnVed0YZkaONQnLxy3xwlL7xL1LklZSid6qSj";
		byte[] bb=t.Sm2Encrypt(aa);
		System.out.println("ccccccccc"+Base64.encode(bb));
//		System.out.println("aaaaaaaaa"+Base64.encode(bb));
		System.out.println("asaa"+t.Sm2Decrypt(bb));
	}
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值