Tag: sha256

PHP和C#HMAC SHA256

我需要在C#中转换以下php代码: $res = mac256($ent, $key); $result = encodeBase64($res); 哪里 function encodeBase64($data) { $data = base64_encode($data); return $data; } 和 function mac256($ent,$key) { $res = hash_hmac(‘sha256’, $ent, $key, true);//(PHP 5 >= 5.1.2) return $res; } 我使用以下C#代码: byte[] res = HashHMAC(ent, key); string result = System.Convert.ToBase64String(res); 哪里 public byte[] HashHMAC(string ent, byte[] key) { byte[] toEncryptArray =System.Text.Encoding.GetEncoding(28591).GetBytes(ent); […]

C#支持对单个XML元素进行RSA SHA 256签名

我遇到过使用.NET Framework 4.5版的阻止程序来处理带有数字签名的XML。 我的问题是基于使用RSA SHA-256算法使用X.509证书签署单个XML元素的需要。 我已经阅读了很多关于这个主题的.NETpost,看来最初在CLR安全项目RSAPKCS1SHA256SignatureDescription.cs类中开发了一个解决方案。 RSAPKCS1SHA256SignatureDescription当然已经被整合到.net运行时中,从.NET 4.5开始,现在可以在分布式二进制System.Deployment.dll下使用。 我尝试在.NET中使用RSA SHA-256对特定的XML元素进行签名,但是还没有取得任何成功。 我正在尝试使用WSSE令牌签署符合Oasis ebms标准的SOAP消息。 请注意,该课程是为了满足Soap With Attachments(SwA)和签署个人附件而编写的。 我的代码如下 我的代码如下: using System; using System.Collections.Generic; using System.IO; using System.IdentityModel.Tokens; using System.Security; using System.Security.Cryptography; using System.Security.Cryptography.X509Certificates; using System.Security.Cryptography.Xml; using System.ServiceModel.Channels; using System.ServiceModel.Security; using System.Text; using System.Xml; using System.Xml.Linq; using System.Xml.Serialization; using System.Deployment.Internal.CodeSigning; namespace TestCSharpX509CertificateRSSHA256 { public class SignatureSupportUtility { private […]

c#中的数字签名,不使用BouncyCastle

如果不使用第三方BouncyCastle库,有没有办法读取自定义私钥并签署消息? (sha256 hash +使用私钥加密)

为什么我的PHP SHA256哈希不等同于C#SHA256Managed哈希

为什么这些不一样? PHP: $hash = hash(‘sha256’, $userData[‘salt’] . hash(‘sha256’, $password) ); C# public static string ComputeHash(string plainText, string salt) { // Convert plain text into a byte array. byte[] plainTextBytes = Encoding.UTF8.GetBytes(plainText); byte[] saltBytes = Encoding.UTF8.GetBytes(salt); SHA256Managed hash = new SHA256Managed(); // Compute hash value of salt. byte[] plainHash = hash.ComputeHash(plainTextBytes); byte[] concat = new byte[plainHash.Length […]

Google OAuth2服务帐户访问令牌请求提供“无效请求”响应

我正在尝试通过服务器到服务器方法与我的应用程序启用的BigQuery API进行通信。 我已经在这个谷歌指南上勾选了我在J#中尽我所能构建JWT的所有方框。 我对Base64Url编码了所有必要的东西。 但是,我从谷歌获得的唯一回应是400 Bad Request “error” : “invalid_request” 我从其他SO问题中确认了以下所有问题: 使用RSA和SHA256正确加密签名 我正在使用POST并使用application / x-www-form-urlencoded内容类型 转义索赔集中的所有反斜杠 在POST数据中尝试了各种grant_type和断言值 当我使用Fiddler时,我得到了相同的结果。 错误消息令人沮丧地缺乏细节! 我还能尝试什么?! 这是我的代码: class Program { static void Main(string[] args) { // certificate var certificate = new X509Certificate2(@”.p12″, “notasecret”); // header var header = new { typ = “JWT”, alg = “RS256” }; // claimset var times […]

获取字符串的SHA-256字符串

我有一些string ,我想使用C#使用SHA-256哈希函数对其进行哈希处理。 我想要这样的东西: string hashString = sha256_hash(“samplestring”); 框架中是否有内置function可以做到这一点?