Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #38395
| From | "Karl.Frank" <Karl.Frank@Freecx.co.uk> |
|---|---|
| Newsgroups | sci.crypt, comp.lang.java.programmer |
| Subject | Re: Why is Java 7 converting the Password toCharArray instead of Byte in it's PBKDF2 function? |
| Date | 2018-06-19 23:23 +0200 |
| Organization | albasani.net |
| Message-ID | <pgbs7u$iff$1@news.albasani.net> (permalink) |
| References | <pdf0kv$uom$1@news.albasani.net> <pdfjv8$e8s$1@news.albasani.net> <foq5mlF5sm0U1@mid.individual.net> <pgandc$d8a$1@news.albasani.net> <dlr1lb3za2zh.dlg@kimmeringer.de> |
Cross-posted to 2 groups.
On 19.06.18 22:18, Lothar Kimmeringer wrote:
> Karl.Frank wrote:
>
>> The amount of byte to read is exactly defined by
>>
>> int BuffSize = System.in.available();
>> byte[] pwByte = new byte[BuffSize];
>> System.in.read(pwByte, 0, BuffSize);
>>
>> How would the program read more byte than necessary?
>
> InputStream.available only returns the number of bytes that
> can be read without blocking. Dependent on how the data ends
> up there there still might be data left to read that you
> missed because of that.
>
> What you're doing here is a common programming error.
>
>
> Cheers, Lothar
Well, well, well. The posted listing is just a short test program in
order to figure out why the results of the Java function were wrong.
It clearly does not expext a huge file being passed over by stdin.
Obviously in a program that need to handle large scale data one would
read in the data byte in chunks and process them subsequently like in
this short snipped
---------------------------------------8<----------
int BuffSize = 8192;
byte[] inByte = new byte[BuffSize];
byte[] outByte = new byte[BuffSize];
int inB, outB, bufferRead;
System.in.flush();
System.out.flush();
while ((bufferRead = System.in.read(inByte, 0, BuffSize)) != -1) {
for (int i=0; i<bufferRead; i++){
/*
do something useful here
for example XOR the byte
inB = (int)inByte[i];
outB = (inB ^ *some CSPRNG byte output*) & 0xff;
outByte[i] = (byte)outB;
or similar...
*/
}
System.out.write(outByte, 0, bufferRead);
}
System.in.flush();
System.out.flush();
System.in.close();
System.out.close();
--------------------------------------->8----------
So nothing to be worried about in regards of any unprocessed data left ;-)
Cheers,
Karl
--
cHNiMUBACG0HAAAAAAAAAAAAAABIZVbDdKVM0w1kM9vxQHw+bkLxsY/Z0czY0uv8/Ks6WULxJVua
zjvpoYvtEwDVhP7RGTCBVlzZ+VBWPHg5rqmKWvtzsuVmMSDxAIS6Db6YhtzT+RStzoG9ForBcG8k
G97Q3Jml/aBun8Kyf+XOBHpl5gNW4YqhiM0=
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Re: Why is Java 7 converting the Password toCharArray instead of Byte in it's PBKDF2 function? "Karl.Frank" <Karl.Frank@Freecx.co.uk> - 2018-05-15 23:37 +0200
Re: Why is Java 7 converting the Password toCharArray instead of Byte in it's PBKDF2 function? "Karl.Frank" <Karl.Frank@Freecx.co.uk> - 2018-05-16 15:58 +0200
Re: Why is Java 7 converting the Password toCharArray instead of Byte in it's PBKDF2 function? Robert Klemme <shortcutter@googlemail.com> - 2018-06-18 18:41 +0200
Re: Why is Java 7 converting the Password toCharArray instead of Byte in it's PBKDF2 function? "Chris M. Thomasson" <invalid_chris_thomasson@invalid.invalid> - 2018-06-18 13:33 -0700
Re: Why is Java 7 converting the Password toCharArray instead of Byte in it's PBKDF2 function? "Karl.Frank" <Karl.Frank@Freecx.co.uk> - 2018-06-19 12:54 +0200
Re: Why is Java 7 converting the Password toCharArray instead of Byte in it's PBKDF2 function? Lothar Kimmeringer <news201705@kimmeringer.de> - 2018-06-19 22:18 +0200
Re: Why is Java 7 converting the Password toCharArray instead of Byte in it's PBKDF2 function? Robert Klemme <shortcutter@googlemail.com> - 2018-06-19 23:20 +0200
Re: Why is Java 7 converting the Password toCharArray instead of Byte in it's PBKDF2 function? "Karl.Frank" <Karl.Frank@Freecx.co.uk> - 2018-06-19 23:23 +0200
Re: Why is Java 7 converting the Password toCharArray instead of Byte in it's PBKDF2 function? Robert Klemme <shortcutter@googlemail.com> - 2018-06-19 23:15 +0200
Re: Why is Java 7 converting the Password toCharArray instead of Byte in it's PBKDF2 function? "Karl.Frank" <Karl.Frank@Freecx.co.uk> - 2018-06-20 00:03 +0200
csiph-web