如何在android中为固定的IMEI生成固定的字节数组

时间:2013-12-08 13:54:37

标签: java android arrays

我是android开发的新手,我正在开发一个消息传递应用程序,现在我的任务是为一个Android设备生成20个或更多字节数组,这个字节数组对于特定的IMEI号应该是相同的,请帮帮我我很震惊这个问题。我能够为IMEI号生成一个14字节的数组,请检查我用来生成14字节数组的代码。请帮帮我

TelephonyManager telephonyManager = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
String IMEI_Number = telephonyManager.getDeviceId();

byte[] b=new byte[]{11,22,12,23,12,15,23,16,25,18,19,52,55,59,10,20,22,28,29,72} ;
new Random().nextBytes(b);
key=b.clone();
key=IMEI_Number.getBytes(); 

1 个答案:

答案 0 :(得分:1)

如果你不要求输出必须很难转回输入,你可以例如只是循环输入并追加,直到你有足够的字节。

public static byte[] cyclicResize(byte[] input, int length) {
    byte[] result = new byte[length];
    for (int i = 0; i < length; i++) {
        result[i] = input[i % input.length];
    }
    return result;
}

使用它,例如

byte[] input = "Hello".getBytes();
byte[] output = cyclicResize(input, 13);
System.out.println(new String(output));

你会得到输出

HelloHelloHel

如果您知道IMEI有多长,那么很容易回到IMEI。如果有这样的要求,这是一个安全问题。