如何在PostgreSQL中加密数组

时间:2018-07-09 04:00:09

标签: postgresql encryption

所以我看到了digest(data text, type text) returns bytea,但是有什么方法可以在插入时将其应用于数组类型(bytea[])?

例如:

INSERT INTO table(my_val) VALUES(digest($1, 'type'));

您将如何将其用于非数组值,但是如何将其应用于数组?

2 个答案:

答案 0 :(得分:0)

您可以将任何内容投射为文本。...

因此将数组转换为文本,然后对其进行哈希处理。

INSERT INTO table(my_val) VALUES(digest(cast(data as text), type));

答案 1 :(得分:0)

由于摘要未加密,因此将数组转换为文本并使用.header-normal .site-header.fixed-on { background: #383780; opacity: 0.9; height: 130px; z-index: 9999; } 函数进行加密。

$.getJSON("leftlist.json" , function(data) {
        $.each(data.articles,function(){
        $('#ullist').before("<li id='mylic' style= color:blue class='item new"+cc+"'> "+el.name+"<div class='block'><div class='row'><button   onclick='copy()' id=btnc class='col button color-blue'>copy</button><button class='col button color-blue'>fav</button><button class='col button '><a class='a2a_dd' href='https://www.addtoany.com/share'><img src='imgs/share.png' width='171' height='16' border='0' alt='Share'/></a></button></div></li></div>");

        })
   });

您还可以使用crypt()功能, 这类似于INSERT INTO table(my_val) VALUES(crypt(cast(data as text), type), gen_salt('md5')); ,但只能在知道密钥的情况下重新计算哈希值。 这样可以防止有人更改数据并更改哈希以使其匹配的情况。

这个documentation解释得很好。