如何创建对(WPF)应用程序的RestAPI的安全访问

时间:2018-12-29 15:38:19

标签: c# php wpf security authentication

我正在尝试创建一个应用程序(在C#WPF中),该应用程序应该与RESTApi通信。 我想自己创建RESTApi。

因此,在此刻,我正在尝试找出让我的c#应用程序的用户登录RESTApi以便使其能够接收数据库数据的最佳方法。

我的第一个想法是基本身份验证。经过一番研究,我意识到我真的不想以明文形式传递密码(即使我使用SSL)。 我知道盐的重要性,我知道最好的方法是使用已经提供随机盐的哈希方法。

但是在我的特定情况下,我考虑过使用河豚算法将哈希与特定的盐一起保存在数据库中。 接下来,我将实现一个逻辑,该逻辑将提供盐的组合,例如 用户名,一些胡椒粉,盐和实际的哈希密码的组合。甚至可能是我可以构建为这种逻辑的序列。如果我想在其他计算机上使用该应用程序,将很难实现,因为我必须记住最后一个序列。 无论如何,RESTApi和我的WPF应用程序都将知道此逻辑来创建散列,每次我调用该逻辑时,散列都将有所不同(由于顺序)。 这样我每次使用逻辑时都可以匹配结果。

基本上,我对散列算法进行了一些研究。我为C#和PHP找到了BCrypt。我已经实现了创建密码哈希的功能,用户可以在我的WPF应用程序中键入该密码。另一方面,我在网站上使用crypt()创建了河豚哈希。两者都完美匹配(使用相同的盐)。

我的想法是:如何在不以明文形式存储/传递密码的情况下将哈希密码传递给我的RESTApi。

所以我的基本问题是: 有什么更好的办法吗?我是否在正确的道路上创建中途安全的“逻辑”。还是如果我使用SSL,使用Baisc /摘要身份验证就足够了吗?

我知道安全是很难实现的,但是我真的很想学习如何实现这些东西。

0 个答案:

没有答案