Rfc2898DeriveBytes 的 pbkdf2加密

问题描述

哪位大神帮忙看看pbkdf2加密问题密码:123456salt:a3xfJQ4X9ynk0kfYt4SPPA==由于新老系统切换,老系统用的是Node.js加密方法crypto.pbkdf2Sync(password,salt,10000,64),加密出来的密码是:GDLavfTOzNAG/DoWKJQ89H9S7nqPqA9wK8rgGFrydvpDTLCLkAWznf7akHXZqUELBmLywUcLhdXMB6iglZcUWw==我在.net中方法为:Rfc2898DeriveBytesk3=newRfc2898DeriveBytes(password,System.Text.UTF8Encoding.Default.GetBytes("a3xfJQ4X9ynk0kfYt4SPPA=="),10000);byte[]answers=k3.GetBytes(64);varpwd=Convert.ToBase64String(answers)结果密码为:T+xVcJJkLR0Q8UC+2EVUIEShvik4jGmyyC4/8hUAdbxEQKVHMnGSSo1yTHmi8B0JwCI5nLGdC4qwabkh5oadJA==

解决方案

解决方案二:
把System.Text.UTF8Encoding.Default.GetBytes("a3xfJQ4X9ynk0kfYt4SPPA==")改为Convert.FromBase64String("a3xfJQ4X9ynk0kfYt4SPPA==")stringpassword="123456";intmyIterations=10000;//Createabytearraytoholdtherandomvalue.//byte[]saltBytes=newbyte[8];//using(RNGCryptoServiceProviderrngCsp=newRNGCryptoServiceProvider())//{////Fillthearraywitharandomvalue.//rngCsp.GetBytes(saltBytes);//}byte[]saltBytes=Convert.FromBase64String("a3xfJQ4X9ynk0kfYt4SPPA==");Rfc2898DeriveBytespasswordEncryptedBytes=newRfc2898DeriveBytes(password,saltBytes,myIterations);stringsalt=Convert.ToBase64String(saltBytes);stringpasswordEncrypted=Convert.ToBase64String(passwordEncryptedBytes.GetBytes(64));Console.WriteLine(salt);Console.WriteLine(passwordEncrypted);Console.ReadLine();

时间: 2024-08-25 11:32:41

Rfc2898DeriveBytes 的 pbkdf2加密的相关文章

开发者必看:最易犯的Top 10加密错误,你中枪了吗?

本文讲的是开发者必看:最易犯的Top 10加密错误,你中枪了吗?, 在对小型初创企业和大型银行和电信公司进行了数百次安全代码审查,并阅读了数百个在安全社区发布的堆栈溢出的帖子之后,我们列出了开发人员最容易犯的十大加密错误. 不幸的现实是,错误的加密方式随处可见.正确加密的次数远远低于我们发现的错误加密的次数,许多问题是由于复杂的加密API在默认的情况下是不安全的.另一个原因是,我们需要训练有素的专家进行手动代码分析才能发现问题.根据我的经验,流行的静态分析工具在寻找加密问题方面并不出色,此外,黑

java-关于 JAVA中PBKDF2WithHmacSHA256加密。

问题描述 关于 JAVA中PBKDF2WithHmacSHA256加密. public class SHA256 { public static byte[] getEncryptedPassword(String password, byte[] salt, int iterations, int derivedKeyLength) throws NoSuchAlgorithmException, InvalidKeySpecException { KeySpec spec = new PBE

Silverlight信息加密 - 通过Rfc2898DeriveBytes类使用基于HMACSHA1的伪随机数生成器实现PBKDF2

原文: http://blog.csdn.net/xuyue1987/article/details/6706600 在上一篇文章当中,介绍到了通过Silverlight获取web.config中的值,最后提到了加密的问题,因此首先对该安全问题做一个简单的描述. 问题描述 1. 下方是我的web.config文件,当中配置这一个媒体文件服务器的IP地址 [html] view plaincopyprint? <?xml version="1.0"?>      <!-

C#简单的加密类实例_C#教程

复制代码 代码如下: public static class EncryptAndDecrypt     {         //加密         public static string Encrypt(string input)         {             // 盐值             string saltValue = "saltValue";             // 密码值             string pwdValue = "

详解.NET中的加密算法总结(自定义加密Helper类续)_实用技巧

1.1.1 摘要 相信许多人都使用过.NET提供的加密算法,而且在使用的过程我们必须了解每种加密算法的特点(对称或非对称,密钥长度和初始化向量等等).我也看到过很多人写过.NET中加密算法总结,但我发现个别存在一些问题,很多人喜欢罗列每种加密算法的具体实现,假设我们要求实现AES和Triple DES加密算法,的确可以很多地分别给出它们的具体实现.  那我们真的有必要给出每个加密算法的具体实现吗?而且这样的设计不符合OOP设计思想,最重要的是我们要维护多个加密算法啊!OK接下来让我们实行一个可扩

对抗拖库 —— Web 前端慢加密

0×00 前言 天下武功,唯快不破.但密码加密不同.算法越快,越容易破. 0×01 暴力破解 密码破解,就是把加密后的密码还原成明文密码.似乎有不少方法,但最终都得走一条路:暴力穷举.也许你会说还可以查表,瞬间就出结果.虽然查表不用穷举,但表的制造过程仍然需要.查表只是将穷举提前了而已. 密码加密,用的都是单向散列计算.既然单向,那就是不可逆,那只能穷举.穷举的原理很简单.只要知道密文是用什么算法加密的,我们也用相同的算法,把常用的词组跑一遍.若有结果和密文一样,那就猜中了. 穷举的速度有多快?

详解ios中的SQL数据库文件加密 (使用sqlcipher)_IOS

今天本想写一片 GAE+goAgent+SwitchySharp 的指南的!但是突然翻出了前段时间写的关于iOS中的SQL数据库文件加密的代码,于是乎决定今天就先讲讲这个!- 那么goAgent将放在周末,后续的文章中除了文件加密,还有传输数据加密,感兴趣的童鞋 敬请留意. 言归正传,sql的文件加密,我们首先要用到一个库,它就是大名鼎鼎的Sqlcipher,  奉上连接:http://sqlcipher.NET,在ios里 我们需要看的文档是这一篇http://sqlcipher.Net/io

安全存储密码:Hashing 还是加密?

对于网站来说, 再没有什么比用户信息泄露更让人尴尬的了. 尤其是当存有用户密码的文件如果被黑客获取, 对网站的安全和用户的信心来说都是巨大的打击. 如最近的Ebay泄密事件和小米的用户数据泄露事件. 保证用户信息安全首先需要正确理解对于用户密码的安全控制和保护. 这里OWASP的主席Michael Coates最近的一篇关于一些基本概念的介绍能够帮助开发人员更好的理解现代Hashing算法和加密对于用户密码保护的作用. 安全牛编译如下: 在过去几个月, 我们看到了一些严重的数据泄露事件, Eba

PHP开发环境配置(含加密程序)

程序|加密 看到文章的题目,不知道大家还有没有兴趣看下去."PHP开发环境配置"~~这个题目就好像在大街上随便问一个人:"你喜欢吃什么?" 一样,答案当然是多种多样的.下面就来说说我个人的看法吧,各位高手不要见笑.但是我想这篇文章对于各位初学者来说还是有一定借鉴意义的.OK.Let's begin~ 在机器上配置好了开发环境,想必各位初哥初姐手痒着要写程序了吧?但是写在那里呢? 对于刚开始学习PHP的朋友来说,首先要知道,在各类PHP开发工具中还没有一个象Micro