从 SHA256 解密

2024-04-14

我有将字符串加密为 sha256 并紧邻 base64 的代码:

 public static string Sha256encrypt(string phrase)
    {
        UTF8Encoding encoder = new UTF8Encoding();
        SHA256Managed sha256hasher = new SHA256Managed();
        byte[] hashedDataBytes = sha256hasher.ComputeHash(encoder.GetBytes(phrase));
        return Convert.ToBase64String(hashedDataBytes);
    }

如何在另一端解密我的密码?


您无法解密结果单向哈希 http://en.wikipedia.org/wiki/Cryptographic_hash_function。相反,您应该做的是将输入密码的哈希值与数据库中存储的哈希值进行比较。

Example:

var password = "1234";
var hashedPassword = Sha256encrypt(password);

var allowLogin = hashedPassword == storedPassword; //storedPassword from Database, etc.

但这只是非常基础的知识,当使用哈希算法时,您应该考虑使用Salt http://en.wikipedia.org/wiki/Salt_%28cryptography%29 too.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 SHA256 解密 的相关文章

随机推荐

  • 使所有者绘制的 TPageControl 选项卡看起来更好,就像没有所有者绘制一样

    我使用Delphi7 带有所有者绘制的PageControl 我无法获得如此简单且漂亮的选项卡外观 正如我在非所有者绘制的 PageControl 上看到的那样 有什么不好的 当使用owner draw时 我无法在 整个 选项卡标题区域上绘
  • Phonegap Android 后退按钮 - 使用主页上的后退按钮关闭应用程序

    我正在使用 Jquery Mobile Phonegap 开发 Android 应用程序 我有以下代码来控制手机的后退按钮 document addEventListener backbutton backKeyDown true func
  • 字符数组的初始值设定项字符串太长

    我不断收到此错误 字符数组的初始化字符串太长 即使我将 num 和 length 更改为 1 它仍然会出现错误 include
  • 如何修复:'MongoError:身份验证失败'@MongoDB Atlas

    我正在连接到 MongoDB Atlas 并收到身份验证失败错误 这是我的连接字符串 mongodb user
  • Java嵌套内部类访问外部类变量

    嵌套内部类ABar和BBar是否可以访问主类的变量 例如 public class Foo public ABar abar new ABar public BBar bbar new BBar public int someCounter
  • 在 MySQL 中的 IN () 中使用逗号分隔的字符串

    如果用户定义的变量 x是一串逗号分隔的数字 例如 1 2 4 有没有办法在IN 功能 具体来说 SET x 1 2 4 SELECT FROM t WHERE c IN x 不选择 t 中 c 等于 1 或 2 或 4 的行 您不能直接使用
  • 防止 AngularJS 中重复的 ui-view

    情况 我的模板中有一个 ui view 组件 div div 我为此视图定义了状态 A 和 B 问题 When I go from state A gt B the rendered DOM looks like this 我在屏幕上看到了
  • 当观察者希望观察不同的项目时实现观察者模式

    下面 当观察者希望观察不同的项目时 我尝试为观察者模式编写 sudo 代码 忽略语法错误 我想知道这是否是实现这一点的正确方法 如果没有 请提出更好的方法 Used by the subject for keeping a track of
  • 如何控制 tkinter 组合框选择突出显示

    我写了一个小型法拉转换器来学习 GUI 编程 它效果很好 看起来不错 唯一的问题是我似乎不知道如何控制我的屏幕上出现的这种奇怪的突出显示ttk Combobox选择 我确实用过ttk Style 但它只改变了颜色ttk Combobox背景
  • 将环境变量传递给ant任务,不带ANT_OPTS

    我正在调用 Jasper ant 任务 并且我想设置org apache jasper compiler Parser STRICT QUOTE ESCAPING环境变量 我可以将 ANT OPTS 设置为 Dorg apache jasp
  • 自动释放或不自动释放

    在核心数据编程指南中的以下代码示例中 创建了 NSFetchRequest 使用 autorelease 而 NSSortDescriptor 不是使用 autorelease 创建的 为什么 NSSortDescriptor 不使用 au
  • 带或不带句柄的嵌套 classdef? [复制]

    这个问题在这里已经有答案了 我试图在 Matlab 中使用可更新的对象 类 和嵌套类 我观察到一种似乎是由于句柄状态引起的行为 我写了2个类testA and testB testB是一个调用该类的主类testA作为财产 classdef
  • 在 C++ 中对命令行参数进行排序

    我想对命令行参数数组进行排序 所有参数都是整数 这是我的代码 但它不起作用 include
  • 如何检测 Android 上的 SSL 固定

    我已经安装并配置了sslsplit并生成根证书 并将其添加到手机 Android 中 如何检测 SSL 固定 当您在移动设备和与之通信的服务器之间放置代理时 使用 SSL 证书固定或公钥固定的应用程序应该无法与服务器通信 因为它将接收 ss
  • 重写 has_many 关联 getter

    一个用户可以拥有多辆车 User has many cars Car belongs to user 每次我打电话 user cars它返回的列表cars按默认搜索顺序 如果我希望关联在某个任意字段上排序 我可以这样做 class User
  • Android 保存并从 Sqlite 数据库获取图像

    亲爱的 Android 如何保存图像并从我使用 Android Studio 的 Sqlite 数据库获取图像 可能为时已晚 但对未来的读者有用 import android content Context import android d
  • 删除 ionic 3 中的滑动手势

    我想创建一个离子删除滑动手势 但它似乎不起作用 This is my home page i called it myPage html
  • ASP.NET MVC - 值类型的自定义验证消息

    当我使用 UpdateModel 或 TryUpdateModel 时 MVC 框架足够智能 可以知道您是否尝试将 null 传递到值类型中 例如 用户忘记填写所需的生日字段 不幸的是 我不知道如何覆盖默认消息 需要一个值 在摘要中输入更有
  • 迄今为止的 Groovy 字符串

    我正在用 Groovy 编码 我目前正在尝试将我拥有的字符串转换为日期 而不必做任何过于繁琐的事情 String theDate 28 09 2010 16 02 43 def newdate new Date parse d M yyyy
  • 从 SHA256 解密

    我有将字符串加密为 sha256 并紧邻 base64 的代码 public static string Sha256encrypt string phrase UTF8Encoding encoder new UTF8Encoding S