- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试对我正在开发的 Common Lisp 应用程序中的一些字符串进行哈希处理。 sd-sha1 软件包似乎不受支持,并且根据 CLiki 页面判断已经有一段时间了,该页面建议使用 Ironclad 代替。很公平,
=> (require 'ironclad)
NIL
Ironclad 不进行字符串摘要;这是在其项目页面上声明为有意的设计选择,我应该做的是将我的字符串转换为字节字符串并对其进行散列。换句话说
=> (ironclad:digest-sequence
:sha1 (flexi-streams:string-to-octets "Hello there"))
#(114 108 118 85 62 26 63 222 162 145 52 243 110 106 242 234 5 236 92 206)
好吧,现在的问题是,整个练习的重点是得到原始字符串输入的 sha1 哈希字符串,这意味着我真的想将上面的内容转换回字符串格式。但是,
=> (flexi-streams:octets-to-string
(ironclad:digest-sequence
:sha1 (flexi-streams:string-to-octets "Hello there"))
:external-format :utf-8)
This sequence can't be decoded using UTF-8 as it is too short.
1 octet missing at then end.
[Condition of type FLEXI-STREAMS:EXTERNAL-FORMAT-ENCODING-ERROR]
Restarts:
0: [ABORT] Exit debugger, returning to top level.
另一个选项是让flexi-streams
推断正确的编码。
=> (flexi-streams:octets-to-string
(ironclad:digest-sequence
:sha1 (flexi-streams:string-to-octets "Hello there")))
"rlvU>?Þ¢4ónjòêì\\Î"
哪种有效,但我感觉结果不应该包含控制字符。根据flexi-streams,默认编码是 :latin
,所以我真的不知道现阶段该怎么做。
我做错了什么?如何在 Common Lisp 中获取 SHA1-digested 字符串的字符串表示形式?
如果重要的话,我正在通过 Emacs+SLIME 运行 SBCL(apt-get 的版本,我相信是 1.0.29)。
最佳答案
从 ironclad:digest-sequence
获得的八位字节是 SHA1 摘要。您需要一个表示这些字节的十六进制编码的字符串。 Ironclad 有一个内置函数可以执行此操作:ironclad:byte-array-to-hex-string
。
关于common-lisp - 使用 Ironclad 和 Flexi-stream 进行哈希处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3900665/
我目前正在从事 css3/html5 元素。由于我之前提出的一个问题,它在 chrome 中运行完美,并且建议使用 flexie ( http://flexiejs.com/ ) 的答案,但在 IE
有没有办法通过 Sharepoint 的网络服务完成 Nintex Flexi 任务?我们已经尝试更新“WorkflowOutcome”、“ApproverComments”和“Status”字段但没
我正在尝试对我正在开发的 Common Lisp 应用程序中的一些字符串进行哈希处理。 sd-sha1 软件包似乎不受支持,并且根据 CLiki 页面判断已经有一段时间了,该页面建议使用 Ironcl
我试图并排放置 3 个 div,将所有剩余的 div 推到下一行。下面的 jsFiddle 在 IE 中完美运行,但在 Chrome 中它只显示父 div (box-wrap)。 See demo h
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 9 年前。 Improve
要求是使用 Azure MySQL Flexi 服务器数据库实现跨区域复制。在 Azure 门户中,可以选择在创建副本时选择位置。 我们试图通过命令实现相同的副本创建,但出现以下问题。源服务器在西区,
我正在尝试将 4 个单独的 sql 添加到我的 app.yaml 文件中的 beta_settings 副标题,用于 Python3 Flexible App Engine。当我将 4 组加在一起时,
我正在尝试在 App Engine 柔性环境中使用 postgres 设置 django。 我按照这里的说明操作:https://cloud.google.com/appengine/docs/fle
由于 GAE 不提供静态 IP,是否有任何方法可以为来自 Google App Engine 的所有导出连接连接 Cloud NAT。 将平台从 GAE 切换到 Compute Engine 或在 C
我是一名优秀的程序员,十分优秀!