代码之家  ›  专栏  ›  技术社区  ›  user824624

在node和react上,jsencrypt(react)和nodersa(node)无法使用相同的数据和公钥进行加密[重复]

  •  0
  • user824624  · 技术社区  · 2 年前

    我使用openSSL加密数据,使用RSA加密,效果很好。我对RSA的理解是,用相同的公钥加密相同的数据总是会得到相同的结果( as stated here here )。

    然而,使用openssl,每次重复加密时都会得到不同的结果。 例如:

    ➜  ~  echo '30' | openssl rsautl -encrypt -inkey pub.pem -pubin  | shasum
          11b6e058273df1ebe0be5e0596e07a6c51724ca0  -
    
    ➜  ~  echo '30' | openssl rsautl -encrypt -inkey pub.pem -pubin  | shasum
          05cb82595f7429ef196189f4e781088597d90eee  -
    

    那么,为什么输出不是唯一的呢?是因为我弄错了RSA加密,还是因为openssl有一些额外的魔力?

    实际上,我正在尝试设计一个只存储RSA加密数据的数据库。我想对加密信息的哈希和进行搜索,如果加密过程本身不是唯一的,这是不可能的。

    0 回复  |  直到 9 年前
    推荐文章