(Модераторы - это 3-й связанный пост нерешенной проблемы, теперь я отправляю все возможные детали и после внесения изменений в предыдущую обратную связь, хотя это полный пост и не зависит от предыдущих 2-х сообщений, если вы думаете, что это дубликат, пожалуйста, удалите предыдущие сообщения. спасибо)Отсутствующие номера в выходном потоке (с полными данными)
Это код функции
public void decrypt(final InputStream cph_in, final OutputStream out)
{
InputStream in;
try
{
// Bytes read from in will be decrypted
in = new CipherInputStream(cph_in, dcipher);
// Read in the decrypted bytes and write the cleartext to out
int numRead = 0;
//System.out.println(in.read(buf));
while ((numRead = in.read(buf)) >= 0)
{
out.write(buf, 0, numRead);
System.out.println(numRead);
}
//out.close();
}
catch (java.io.IOException e)
{
}
здесь консольный вывод
the Cell Content : ;Xéü¿Uô{¼9¬ðM
3
the Cell Content : ïB
the Cell Content : þ^[ÊN=—î™ì4´•z&
3
the Cell Content : @ûú!Í?+²uŸK^/?¤
3
the Cell Content : ´ƒôœCëîé V¢%
3
the Cell Content : q^ŽÐâ\Æn2bšcU
3
the Cell Content : ?³j8¥+¤
the Cell Content : R
the Cell Content : 3exÂÊ]ýv>>|Äð
3
the Cell Content : š¾‚ýËe©%Ä»
the Cell Content : Æ´=OöÀ¶+'¸e£Ñßpö
3
the Cell Content : etO„ïŸÞñ?Æü é
the Cell Content : çë
, когда я положил OutputStream в Excel это выглядит следующим образом (обратите внимание, 124, 129,130 и т.д. отсутствует)
*** Здесь лежит проблема .. почему некоторые цифры отсутствуют.
123
125
126
127
128
131
133
135
137
138
139
140
141
143
144
здесь является вызов функции
ByteArrayInputStream in = null;
FileOutputStream out = null;
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("new sheet");
/* KeyGenerator kgen = KeyGenerator.getInstance ("AES"); kgen.init (128); SecretKey key = kgen.generateKey(); byte [] encoded = key.getEncoded();
IOUtils.write (кодируются, новый FileOutputStream (новый файл ("C: \ Users \ а \ Desktop \ Key.txt"))); */
FileInputStream плавник = новый FileInputStream ("C: \ Key.txt "); DataInputStream din = new DataInputStream (fin);
байт b [] = новый байт [16];
din.read (b);
InputStream excelResource=new FileInputStream(path);
Workbook rwb=Workbook.getWorkbook(excelResource);
int sheetCount=rwb.getNumberOfSheets();
Sheet rs=rwb.getSheet(0);
int rows=rs.getRows();
int cols=rs.getColumns();
for(int i=0;i<rows;i++){
for(int j=0;j<Col.length;j++){
String theCell_00=rs.getCell(j,i).getContents();
System.out.println("the Cell Content : "+theCell_00);
in = new ByteArrayInputStream(theCell_00.getBytes());
out = new FileOutputStream("c:\\Decrypted.txt");
try
{
//System.out.println(b);
SecretKey key1 = new SecretKeySpec(b, "AES");
// Create encrypter/decrypter class
AESDecrypter encrypter = new AESDecrypter(key1);
encrypter.encrypt(new ByteArrayInputStream(theCell_00.getBytes()),new FileOutputStream("temp.txt"));
// Decrypt
// encrypter.encrypt(,new FileOutputStream("Encrypted.txt"));
encrypter.decrypt(in, out);
и у меня есть ощущение, что будет требоваться даже остальная часть кода, так что я буду загружать исходный код на http://www.filesavr.com/aesencryption link text (банку, но не исполняемый файл. Для извлечения) Это как программные работы
После импорта в Eclipse и предоставления нужных библиотек POI Apace. вам нужно поместить некоторые данные в первый столбец файла excel c: \ MyExcel.xls для наших, например, 123 до 144 вам необходимо запустить DoEncryption.java , это преобразует все данные из MyExcel.xls в 128-битный ключ AES зашифрованную форму в c: \ workbook.xls , а также создать c: \ key.txt Когда workbook.xls и key.txt существуют в каталоге c и вы запустите DoDecryption.java, он создаст c: \ Decrypted.xls, содержащий все данные расшифрован, чтобы получить оригинал такой же, как MyExcel.xls
Некоторые части кода даже не используется так, чтобы решить эту проблему, пожалуйста, следующую последовательность только
Guys Пожалуйста, помогите меня. m рассчитывая на вас.
Можете ли вы рассказать мне, как реализовать любой из этих – rover12