gpt4 book ai didi

java - 无法在 HSQLDB : routine signature not found 中设置 md5 密码

转载 作者:行者123 更新时间:2023-11-30 07:25:42 26 4
gpt4 key购买 nike

HSQLDB 中有关 MD5 的文档有些稀缺,但我已按照以下说明操作以启用 md5-ing 我的密码:

CREATE FUNCTION md5(VARBINARY(128))
RETURNS VARBINARY(226)
LANGUAGE JAVA
DETERMINISTIC
NO SQL
EXTERNAL NAME 'CLASSPATH:org.hsqldb.lib.MD5.digest'

现在,当我尝试更新密码时:

UPDATE worker SET password = md5('pass123') WHERE wid=1

我收到以下错误:

java.sql.SQLException: routine signature not found for: PUBLIC.MD5(CHARACTER)

我对sql不是很熟悉,所以我不确定我在哪里犯了错误。

最佳答案

你需要一个带有字符串的函数签名,而不是二进制的。

CREATE FUNCTION md5(VARCHAR(128), VARCHAR(10))
RETURNS VARCHAR(256)
LANGUAGE JAVA
DETERMINISTIC
NO SQL
EXTERNAL NAME 'CLASSPATH:org.hsqldb.lib.MD5.encode'

并使用固定的编码参数调用函数:

UPDATE worker SET password = md5('pass123', 'ISO-8859-1') WHERE wid=1

关于java - 无法在 HSQLDB : routine signature not found 中设置 md5 密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10776777/

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