如何在TMS WEB Core中哈希密码?使用TWebSHAHash遇标识符未找到错误
解决TWebSHAHash组件"identifier not found 'TSHAHash'"报错
问题重现
使用Delphi + TMS Web Core开发时,按照官方示例编写TWebSHAHash调用代码,编译报错:
[Error] UserSignUp.pas(509): identifier not found "TSHAHash"
示例代码如下:
procedure TForm1.WebButton1Click(Sender: TObject); async; var sha: TWebSHAHash; s: string; begin sha := TWebSHAHash.Create(ehSHA1); s := Await(string, sha.Hash('text to be hashed')); WebMemo1.Lines.Add(s); end;
解决方案
- 添加必要单元引用:
TWebSHAHash类位于Web.Hash单元中,必须在你的UserSignUp.pas文件的uses声明列表里添加这个单元。 - 检查类名拼写:报错提示找不到
TSHAHash,但示例代码里用的是TWebSHAHash,确认实际代码中没有把类名写错成TSHAHash。 - 验证TMS Web Core版本:确保你安装的TMS Web Core版本与官方文档匹配,部分旧版本可能组件命名或所在单元存在差异。
- 清理编译缓存:删除项目生成的DCU文件,重新编译整个项目,避免缓存导致的识别异常。
内容的提问来源于stack exchange,提问作者Gorhin Stroebel
相关产品推荐
相关产品推荐

