RFR: 8210838: Override javax.crypto.Cipher.toString()
Seán Coffey
sean.coffey at oracle.com
Fri Nov 16 17:56:14 UTC 2018
Thanks Sean. StringBuilder use added :
http://cr.openjdk.java.net/~coffeys/webrev.8210838.v4/webrev/
Regards,
Sean.
On 16/11/18 17:33, Sean Mullan wrote:
> Looks ok. If there are no disadvantages to using a StringBuilder, I
> would probably do that, since you are creating 4-5 separate Strings in
> the toString method.
>
> --Sean
>
> On 11/16/18 11:35 AM, Seán Coffey wrote:
>>
>> On 16/11/18 16:16, Sean Mullan wrote:
>>> On 11/16/18 9:04 AM, Seán Coffey wrote:
>>>> That's a good example and point Max. How does this revision look ?
>>>>
>>>> http://cr.openjdk.java.net/~coffeys/webrev.8210838.v2/webrev/
>>>
>>> 2832 * This implementation returns a String containing the
>>> transformation
>>> 2833 * used by this Cipher, the Cipher mode and the Cipher
>>> Provider.
>>>
>>> I would suggest rewording this as: "This implementation returns a
>>> String containing the transformation, mode, and provider of this
>>> Cipher."
>> Good suggestion. Changed.
>>>
>>> 2840 String m = "not initialized";
>>> 2841 if (initialized)
>>> 2842 m = getOpmodeString(opmode);
>>>
>>> Or:
>>>
>>> String m = initialized ? getOpmodeString(opmode) : "not initialized";
>> I've moved the switch expression into the toString() call now as per
>> suggestion from Max. I've just
>> seen that we should never have an unexpected opmode given the
>> checkOpmode(int) method check.
>> I've let an unexpected opmode register with "error" in the switch
>> statement. // should never happen.
>>
>> webrev updated in place:
>> http://cr.openjdk.java.net/~coffeys/webrev.8210838.v3/webrev/
>>
>> regards,
>> Sean.
>>
>>>
>>> Also, it might be worthwhile to use a StringBuilder if you think
>>> this method may be called often.
>>>
>>> --Sean
>>>
>>>>
>>>> Regards,
>>>> Sean.
>>>>
>>>> On 16/11/18 03:35, Weijun Wang wrote:
>>>>> Signature's toString looks like
>>>>>
>>>>> public String toString() {
>>>>> String initState = "";
>>>>> switch (state) {
>>>>> case UNINITIALIZED:
>>>>> initState = "<not initialized>";
>>>>> break;
>>>>> case VERIFY:
>>>>> initState = "<initialized for verifying>";
>>>>> break;
>>>>> case SIGN:
>>>>> initState = "<initialized for signing>";
>>>>> break;
>>>>> }
>>>>> return "Signature object: " + getAlgorithm() + initState;
>>>>> }
>>>>>
>>>>> Maybe you can add some similar info.
>>>>>
>>>>> In fact, it looks like you can extract the debug output at the end
>>>>> of each init() methods into a new toString() method.
>>>>>
>>>>> Thanks
>>>>> Max
>>>>>
>>>>>> On Nov 16, 2018, at 12:35 AM, Seán Coffey
>>>>>> <sean.coffey at oracle.com> wrote:
>>>>>>
>>>>>> A simple enhancement to override toString() for
>>>>>> javax.crypto.Cipher class
>>>>>>
>>>>>> https://bugs.openjdk.java.net/browse/JDK-8210838
>>>>>> webrev : http://cr.openjdk.java.net/~coffeys/webrev.8210838/webrev/
>>>>>>
>>>>>> regards,
>>>>>> Sean.
>>>>>>
>>>>
>>
More information about the security-dev
mailing list