I noticed that the format problem is fixed by not using the rawtohex() call 
which solves the problem. The rawtohex is somewhat weird as I was expecting 
a raw byte array to be converted to hex data but it takes a string and puts 
it to 4 character hex. Maybe a definition of what this 'raw' refers to in 
the documentation and some samples in the document would help.

On Saturday, August 19, 2017 at 3:20:20 PM UTC+8, Thotheolh wrote:
>
> I have modified and re-arranged the SQL statement as below:
>
> insert into EmailSubscription (
>     EMAIL,
>     ISSUBSCRIBED,
>     DATESUBSCRIBED,
>     SUBCODE
> ) 
> values (
>     '[email protected]',
>     true,
>     current_timestamp(),
>     rawtohex(hash('SHA256', stringtoutf8(concat('[email protected]', 
> current_timestamp())), 1))
> );
>
> It works with the modification but the outcome when I select the SubCode 
> is now shown below:
>
> [email protected] TRUE 2017-08-19 15:12:18.156 *null* 
> 0032006600660033006600360030006600630061003300610035003100350064003000380065003800320061006500620039006300340039003200350037003500390039003400640064003700320063003700390061003300640061003600380031006400370035003100610062003000310034006100390062003600610061
>
> What I am expecting is the concat as the input for the hash which is 
> '[email protected] 15:12:18.156' and after hashing it should be 
> '2ff3f60fca3a515d08e82aeb9c492575994dd72c79a3da681d751ab014a9b6aa'. 
>
> How do I format my result to get the hash as shown above ?
>
> On Saturday, August 19, 2017 at 1:47:01 PM UTC+8, Noel Grandin wrote:
>>
>> something like this:
>>
>> insert into EmailSubscription (
>>     Email,
>>     IsSubscribed,
>>     DateSubscribed,
>>     SubCode
>> ) 
>> values (
>>     "[email protected]",
>>     true,
>>     current_timestamp(),
>>     rawtohex(hash('SHA256', concat("[email protected]", current_timestamp()), 
>> 1))
>> );
>>
>>
>> On 19 August 2017 at 07:15, Thotheolh <[email protected]> wrote:
>>
>>> Hi,
>>>
>>> I am trying to run nested CALL functions but could not get it to work. 
>>> Below is my SQL statement.
>>>
>>> insert into EmailSubscription (
>>>>     Email,
>>>>     IsSubscribed,
>>>>     DateSubscribed,
>>>>     SubCode
>>>> ) 
>>>> values (
>>>>     "[email protected]",
>>>>     true,
>>>>     current_timestamp(),
>>>>     call rawtohex(call hash('SHA256', call concat(Email, 
>>>> DateSubscribed), 1))
>>>> );
>>>
>>>
>>> I want to SHA256 hash the concatenation of the email address with the 
>>> timestamp of subscription and then convert the raw SHA256 binary output 
>>> into a hexadecimal representation to be inserted as the 'SubCode' for the 
>>> table.
>>>
>>> How should I go about doing that in SQL ?
>>>
>>> -- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "H2 Database" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to [email protected].
>>> To post to this group, send email to [email protected].
>>> Visit this group at https://groups.google.com/group/h2-database.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.

Reply via email to