当前位置: 首页 > 工具软件 > Tea语言 > 使用案例 >

TEA java语言实现方法

公良弘毅
2023-12-01

/**
 * @author: heiing 2013-01-20 01:20
 */
public class TEA {

	public static byte[] encrypt(byte[] data, byte[] key) {
		int data_len = data.length; // 数据的长度
		if (data_len == 0) {
			return new byte[] {};
		}
		TEA t = new TEA();
		if (!t.setKey(key)) {
			return new byte[] {};
		}

		int group_len = 8;
		int residues = data_len % group_len; // 余数
		int dlen = data_len - residues;

		// 用于储存加密的密文,第一字节为余数的大小
		int result_len = data_len + 1;
		if (residues > 0) {
			result_len += group_len - residues;
		}
		byte[] result = new byte[result_len];
		result[0] = (byte) residues;

		byte[] plain = new byte[group_len];
		byte[] enc = new byte[group_len];

		for (int i = 0; i < dlen; i += group_len) {
			for (int j = 0; j < group_len; j++) {
				plain[j] = data[i + j];
			}
			enc = t.encrypt_group(plain);
			for (int k = 0; k &
 类似资料: