Re: encrypt/decrypt between javascript and postgresql.

Поиск
Список
Период
Сортировка
От Adrian Klaver
Тема Re: encrypt/decrypt between javascript and postgresql.
Дата
Msg-id 309850a0-ccd6-8ddb-f6ba-e7999ce73681@aklaver.com
обсуждение исходный текст
Ответ на encrypt/decrypt between javascript and postgresql.  (AC Gomez <antklc@gmail.com>)
Список pgsql-general
On 3/11/20 5:46 PM, AC Gomez wrote:
> I'm trying to encrypt/decrypt between javascript and postgresql.
> 
> I'm using this: 
> https://gist.github.com/vlucas/2bd40f62d20c1d49237a109d491974eb algorithm to 
> encrypt my text, and then in PostgreSQL I use PGCRYPTO.decrypt_iv to 
> decrypt the text.
> 
> I pass in 'ThisISMySign' to the Encrypt function.
> 
> Encrypted string returned from 
> above: "fc9a03cbc8a57d4061570575f197c29c:a319a4bf354516f392ba96a895478af6"

A quick walk through the JS code found:

...

let decipher = crypto.createDecipheriv('aes-256-cbc', 
Buffer.from(ENCRYPTION_KEY), iv);

let decrypted = decipher.update(encryptedText);

decrypted = Buffer.concat([decrypted, decipher.final()]);

return decrypted.toString();


where

const ENCRYPTION_KEY = process.env.ENCRYPTION_KEY;

Pretty sure the below does not have access to the above.

> 
> I have to remove the colon to get something out...and so this:
> 
> select 
> decrypt_iv(decode('fc9a03cbc8a57d4061570575f197c29ca319a4bf354516f392ba96a895478af6','hex')::bytea, 
> 'sKCx49VgtHZ59bJOTLcU0Gr06ogUnDJi'::bytea, 'null'::bytea, 
> 'aes-cbc/pad:pkcs');
> 
> Gives me this: 6 á¶ðÒÿÆÛÏBSïÅThisISMySign

In my instance(12.1) I get:

                          decrypt_iv
------------------------------------------------------------
  \x36df9ec98ff4ad80b9a4b0425390baed5468697349534d795369676e

> 
> "ThisISMySign" was the original string. So I'm getting the right result 
> in half of the decrypted string.
> 
> The paremeter after the key, 3rd parameter, it can be any string. That 
> just changes the first part of the output, the garbage part.
> 
> In decrypt_iv I tried using the encryption algorithm name in the 
> javascript used to encrypt, but that gets me nowhere.
> 
> I cannot see what i'm missing here.
> 
> Thanks


-- 
Adrian Klaver
adrian.klaver@aklaver.com



В списке pgsql-general по дате отправления:

Предыдущее
От: Ron
Дата:
Сообщение: Re: vacuum full doubled database size
Следующее
От: PegoraroF10
Дата:
Сообщение: Reading WALs