小编ine*_*sha的帖子

Crystal:如何找到二进制值的SHA256哈希值?

我是Crystal的新手.我想尝试找到十六进制字符串的SHA256哈希值.我成功地完成了一些工作:

sha256 = OpenSSL::Digest.new("sha256")
puts sha256.update("abcd")
Run Code Online (Sandbox Code Playgroud)

但我不确定如何将"abcd"的二进制值放入哈希函数中,或者将二进制输出.我基本上希望能够重新创建这个Ruby函数:

def hash256(hex)
  # 1. Convert hex string to array, and pack in to binary
  binary = [hex].pack("H*")

  # 2. Hash the binary value (returns binary)
  hash1 = Digest::SHA256.digest(binary)

  # 3. Hash it again (returns binary)
  hash2 = Digest::SHA256.digest(hash1)

  # 4. Convert back to hex (must unpack as array)
  result = hash2.unpack("H*")[0]

  return result
end
Run Code Online (Sandbox Code Playgroud)

是否可以在Crystal中使用带有二进制值的SHA256?

crystal-lang

4
推荐指数
1
解决办法
963
查看次数

Neo4j启动错误:/var/run/neo4j/neo4j.pid:没有这样的文件或目录

Neo4j 3.0升级到3.1(以及随后的3.2)后,运行后出现以下错误sudo neo4j start:

/usr/share/neo4j/bin/neo4j: line 411: /var/run/neo4j/neo4j.pid: No such file or directory
Run Code Online (Sandbox Code Playgroud)

尽管如此,Neo4j在运行此命令后实际上正在运行.但是,之后我无法停止Neo4j sudo neo4j stop,因为没有PID.

我怎样才能解决这个问题?


笔记:

  • 我升级使用 sudo apt upgrade
  • 可以通过sudo mkdir /var/run/neo4j事先做好解决这个问题,但希望可能有更有效的解决方案.

neo4j

4
推荐指数
1
解决办法
4244
查看次数

从Ruby中的数组中删除前导零元素

我有一个这样的数组:

a = [0, 0, 1, 0, 1, 1, 0]
Run Code Online (Sandbox Code Playgroud)

我想删除主要0元素来获得这个:

a = [1, 0, 1, 1, 0]
Run Code Online (Sandbox Code Playgroud)

在 Ruby 中执行此操作的最佳方法是什么?我想出了一个解决方案,但它并不像它应该的那样优雅:

count = 0
a.each do |element|
  break if element != 0
  count += 1
end
a = a[count..-1]
Run Code Online (Sandbox Code Playgroud)

我觉得这可能有一个干净的单线。

ruby

4
推荐指数
1
解决办法
231
查看次数

Neo4j:有没有快速获取两个节点之间距离的方法?

我在链中有节点,如下所示:

(a)<-[:rel]-(b)<-[:rel]-(c) ... (x)
Run Code Online (Sandbox Code Playgroud)
  • 每个节点都有一个唯一的索引。
  • 这条链上有几十万个节点。

(a)是否有一种快速方法来计算和之间的节点(或关系)数量(x)即使它们之间有数千个节点?到目前为止,p=(a)<-[:rel*]-(x)进展“缓慢”。

注意:我不需要知道之间的节点的任何信息,我只想找到距离。

neo4j

2
推荐指数
1
解决办法
5411
查看次数

如何从Neo4j社区迁移到企业版(在Ubuntu上)?

我当前正在运行Neo4j社区版,并且想升级到企业版。

做这个的最好方式是什么?


我已经安装了企业版:

sudo apt-get install neo4j-enterprise
Run Code Online (Sandbox Code Playgroud)

但是我跑的时候

sudo neo4j start
Run Code Online (Sandbox Code Playgroud)

...我相信我仍在运行社区版。

我在Neo4j网站上找不到任何有关如何迁移的说明。

neo4j

2
推荐指数
1
解决办法
598
查看次数

标签 统计

neo4j ×3

crystal-lang ×1

ruby ×1