public byte[][] createShares(byte[] secret, int shares, int threshold, Random rnd)
{
// some code here
}
我有這種方法,我打算將SSS應用於字節數組文件。 byte [] secret是方法參數,我將在文件中傳遞每個字節的參數,然後爲每個字節應用SSS算法。我還實現了一個如何讀取文件並將其轉換爲字節數組的Java代碼。我堅持如何爲每個文件字節實現這個SSS算法。 我知道我需要for循環。關鍵是我想調用我的主要方法這個字節[]祕密,並分配給它的每個字節的文件,但我堅持如何做到這一點。如何循環陣列字節文件
我的方法,這將讀取該文件並將其轉換爲位的陣列是如下:
public byte[] readFile(File fileName) throws IOException {
InputStream is = new FileInputStream(fileName);
// Get the size of the file
long length = fileName.length();
// to ensure that file is not larger than Integer.MAX_VALUE.
if (length > Integer.MAX_VALUE) {
throw new IOException("Could not completely read file " + fileName.getName() + " as it is too long (" + length + " bytes, max supported " + Integer.MAX_VALUE + ")");
}
// Create the byte array to hold the data
byte[] secret = new byte[(int)length];
int offset = 0;
int numRead = 0;
while (offset < secret.length && (numRead=is.read(bytes, offset, bytes.length-offset)) >= 0) {
offset += numRead;
}
// Ensure all the bytes have been read in
if (offset < secret.length) {
throw new IOException("Could not completely read file " + fileName.getName());
}
// Close the input stream and return bytes
is.close();
return secret;
}
誰能幫助我如何循環的文件的每個字節,然後將其作爲參數傳遞我的createdhares方法?
你應該使用任何這種方法來讀取文件(所以你不是重新發明輪子)http://stackoverflow.com/questions/858980/file-to-byte-in-java你也應該更好地解釋你的問題。 –
@PacoAbato假設OP試圖實現這種:https://en.wikipedia.org/wiki/Shamir's_Secret_Sharing –