【问题标题】:How to encrypt / decrypt a number into a string without using Base64如何在不使用 Base64 的情况下将数字加密/解密为字符串
【发布时间】:2019-06-18 09:26:47
【问题描述】:

我有一个数字(int、long、double 类型),我想将该数字加密为带有“字母或数字”或“字母和数字”(非特殊字符)的字符串。

因为我想加密 Url 中的 UserId。 我在网上看过一些帖子,但它们总是返回 Base64 字符串,但我不想在 Url 中显示 Base64 字符串。

P/s:我想要加密/解密,而不是编码/解码。

【问题讨论】:

  • string myString = myNumber.toString()?
  • 我认为明确您是否需要加密编码非常重要。它们是非常不同的东西
  • 加密函数产生字节流 (0-255)。因为您不能在 URL 中使用某些字符(尤其是小于 32 的字符),所以它们将被转换为 base64。为什么你不想使用 base64?
  • 你不想使用 Base64 因为......原因。那么你可以改用Base32 吗?完成加密后,您将需要某种方式将字节编码为字符串,因此请选择您的编码并实现它。
  • 您需要的是先加密后编码,再解码后解密。两者都需要。

标签: c# .net asp.net-core cryptography


【解决方案1】:

您需要找到基于文本的密码,但我从未听说过任何人。解决问题的最佳方法是结合加密和 base64 编码。您使用您选择的密码(例如 AES)对用户 ID 进行加密,然后对加密的字节数组进行 base64 编码以获得字符串表示形式。

【讨论】:

    猜你喜欢
    • 2016-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多