kettle传输数据如何加密 kettle数据加密解密

主机教程 建站分享 2年前 (2022-11-30) 201次浏览

文章摘要:kettle传输数据如何加密 kettle数据加密解密

java使用ASE128对kettle加密传输数据,具体方法如下: package com; import j […]

java使用ASE128对kettle加密传输数据,具体方法如下:

package com;

import javax.crypto.Cipher;

import javax.crypto.spec.IvParameterSpec;

import javax.crypto.spec.SecretKeySpec;

import sun.misc.BASE64Decoder;

import sun.misc.BASE64Encoder;

public class AES128 {

private static String sKey = "6d782000a3625132";

private static String ivParameter = "66692k0da001d091";

private static AES128 instance = null;

private AES128() {

}

public static AES128 getInstance() {

if (instance == null)

instance = new AES128();

return instance;

}

// 加密

public static String encrypt(String sSrc, String encodingFormat,String sKey, String ivParameter) throws Exception {

Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");

byte[] raw = sKey.getBytes();

SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");

// 使用CBC模式,需要一个向量iv,可增加加密算法的强度

IvParameterSpec iv = new IvParameterSpec(ivParameter.getBytes());

cipher.init(Cipher.ENCRYPT_MODE, skeySpec, iv);

byte[] encrypted = cipher.doFinal(sSrc.getBytes(encodingFormat));

// 此处使用BASE64做转码。

return new BASE64Encoder().encode(encrypted);

}

public static void main(String[] args) throws Exception {

// 需要加密的字串

String cSrc = "12026198505162431";

System.out.println("加密前的字串是:" + cSrc);

// 加密

long lStart = System.currentTimeMillis();

String enString = AES128.getInstance().encrypt(cSrc, "utf-8", sKey,ivParameter);

System.out.println("加密后的字串是:" + enString);

long lUseTime = System.currentTimeMillis() - lStart;

System.out.println("加密耗时:" + lUseTime + "毫秒");

}


声明:
若非注明,本站文章源于互联网收集整理和网友分享发布,如有侵权,请联系站长处理。
文章名称:kettle传输数据如何加密 kettle数据加密解密
文章链接:http://www.7966.org/post/15634.html
转载请注明出处

喜欢 (0)