gpt4 book ai didi

javascript - 雪花 UDF 和数据加密

转载 作者:行者123 更新时间:2023-12-01 17:17:30 35 4
gpt4 key购买 nike

我想知道是否可以创建 UDF 来解密通过使用私钥作为加密值插入到表中的值。我用谷歌搜索真的找不到任何东西。我发现的唯一一件事是,可能有一个使用 JavaScript UDF 和 CryptoJS 的选项,但我不明白是否真的可以导入要在 UDF 中使用的 CryptoJS 模块。从我在文档中收集的内容来看,这是不可能的。

有人知道这种功能、可能性或解决方法吗?
谢谢!

最佳答案

您实际上并不需要 UDF 来执行此操作。 Snowflake 支持使用私钥进行加密和解密功能。 (从技术上讲,这个例子显示了一个私有(private)密码,它被转换成一个私钥。不过它也支持直接 key 规范;请继续阅读):

select encrypt('Hello, world.', '531daa2aec446116');  -- Displays as binary jibberish.
select hex_encode(encrypt('Hello, world.', '531daa2aec446116')); -- Displays as HEX. Convert to hex to store as either binary or string.
create temporary table ENCRYPTED_TABLE(COL1 binary, COL2 string);
insert into ENCRYPTED_TABLE select hex_encode(encrypt('Hello, world.', '531daa2aec446116')), hex_encode(encrypt('Hello, world.', '531daa2aec446116'));
select decrypt(COL1, '531daa2aec446116'), decrypt(hex_decode_binary(COL2), '531daa2aec446116') from ENCRYPTED_TABLE;

如果您正在寻找一种方法来解密另一个系统加密的值,那么解密函数可能会也可能不会起作用。 Snowflake 的加密和解密功能使用 AES256 密码的对称加密。如果源密码是 AES-256,您可能会得到解密工作。如果源密码是其他任何东西,它不会。您可能想尝试 ENCRYPT_RAW 函数,该函数接受 key ,而不是处理如何将密码短语转换为 key 的复杂性。

https://docs.snowflake.com/en/sql-reference/functions/encrypt.html

关于javascript - 雪花 UDF 和数据加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61517167/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com