RFR: 8210838: Override javax.crypto.Cipher.toString()
Weijun Wang
weijun.wang at oracle.com
Sun Nov 18 07:36:57 UTC 2018
The version looks fine. Thanks.
> On Nov 17, 2018, at 1:56 AM, Seán Coffey <sean.coffey at oracle.com> wrote:
>
> 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