草庐IT

caching_sha

全部标签

c# - 为什么在 C# 和 PowerShell 中使用完全相同的代码加密 HMAC-SHA1 会显示不同的结果?

我一直在尝试使用以下代码在PowerShell中使用HMAC-SHA1加密类似AmazonS3的授权key:$str="PUT\n\napplication/x-zip-compressed\nThu,09Feb201708:59:43GMT\n/test-bucket/test-key"$secret="c334da95a6734ff4a04abd99efca450f"$sha=[System.Security.Cryptography.KeyedHashAlgorithm]::Create("HMACSHA1")$sha.Key=[System.Text.Encoding]::UT

c# - 如何获取 HttpRuntime.Cache 对象的到期日期时间?

是否可以获取HttpRuntime.Cache对象的到期DateTime?如果是这样,最好的方法是什么? 最佳答案 我刚刚浏览了反射器中的System.Web.Caching.Cache。似乎涉及到期日期的所有内容都标记为内部。我发现可以公开访问它的唯一地方是通过Cache.Add和Cache.Insert方法。所以看起来你运气不好,除非你想进行反射(reflection),我不建议这样做,除非你真的需要那个日期。但如果您无论如何都想这样做,那么这里有一些代码可以解决问题:privateDateTimeGetCacheUtcExpi

c# - Rfc2898/PBKDF2 与 SHA256 作为 c# 中的摘要

我想在C#中使用Rfc2898来导出key。我还需要使用SHA256作为Rfc2898的摘要。我找到了Rfc2898DeriveBytes类,但它使用SHA-1,而且我看不出有什么方法可以让它使用不同的摘要。有没有办法在C#中使用Rfc2898并将SHA256作为摘要(除了从头开始实现)? 最佳答案 .NETCore有一个新的Rfc2898DeriveBytes实现。CoreFXversionnolongerhasthethehashingalgorithmhard-codedThecodeisavailableonGithub.它

C# HttpRuntime.Cache.Insert() 不持有缓存值

我正在尝试使用HttpRuntime.Cache.Insert()来缓存价格值,但在清除之前似乎只保留了几个小时或更长时间。我究竟做错了什么?我希望该值在缓存中保留3天。HttpRuntime.Cache.Insert(CacheName,Price,null,DateTime.Now.AddDays(3),TimeSpan.Zero); 最佳答案 简答您的应用程序池或网站关闭得太早了。延长站点的空闲超时,延长运行该站点的池的应用程序池生命周期。提高内存分配和请求限制。完整答案如果您想知道什么时候以及为什么从缓存中删除某些内容,您需

c# - 如何使用使用 sha1ecdsa 的公钥根据签名验证数据?

我对密码学知之甚少,但似乎很简单的任务却遇到了很大的问题。我有.pem证书、数据字节和该数据的签名。我想通过将数据与签名进行匹配来检查是否有人更改了数据。我的尝试:privateboolVerifySignature(byte[]data,byte[]signature){try{X509Certificatecertificate=newX509Certificate("cert_filename.pem");if(certificate==null)returnfalse;DSACryptoServiceProviderdsa=(DSACryptoServiceProvider)c

c# - 安全使用 'HttpContext.Current.Cache'

我在这样的Web服务方法中使用Cache:varpblDataList=(List)HttpContext.Current.Cache.Get("pblDataList");if(pblDataList==null){varPBLData=dc.ExecuteQuery(@"SELECTblabla");pblDataList=PBLData.ToList();HttpContext.Current.Cache.Add("pblDataList",pblDataList,null,DateTime.Now.Add(newTimeSpan(0,0,15)),Cache.NoSliding

c# - HttpRuntime.Cache 对象中缓存键的最大长度?

我们在ASP.NET中使用HttpRuntime.CacheAPI来缓存从数据库检索的数据。对于这个特定的应用程序,我们的数据库查询具有很多参数,因此我们的缓存键看起来像这样:table=table1;param1=somevalue1;param2=somevalue2;param3=somevalue3;param4=somevalue4;param5=somevalue5;param6=somevalue6...etc...对于某些查询,我们有很多参数,以至于缓存键有几百个字符长。我的问题:这些缓存键的长度是否有限制?在内部,它使用字典,因此理论上查找时间应该是恒定的。但是,我想

c# - HttpRuntime.Cache 和 Session 有什么区别?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:Cachev.sSession我正在使用一些使用HttpRuntime.Cache来存储值的代码。但是,当我关闭窗口时,缓存消失了。在Session上使用它有什么好处吗?这是我的代码:protecteddynamicCode(){dynamiccode;if(String.IsNullOrEmpty(myHttpContext.Request.QueryString["code"])){code=HttpRuntime.Cache["code"];}else{code=myHttpContext.Reques

c# - Cache.SetMaxAge 在 IIS 下不工作,在 VS Dev Srv 下工作正常

我试图在我的回复中添加一个“max-age”标题。它在我的VisualStudio开发服务器上运行良好,但是一旦我将应用程序移动到IIS(尝试了本地IISExpress和服务器上的IIS)-标题就消失了。我的代码:Response.Cache.SetCacheability(HttpCacheability.Public);Response.Cache.SetMaxAge(newTimeSpan(1,0,0,0));VS开发服务器响应(一切正常):HTTP/1.1200OKServer:ASP.NETDevelopmentServer/10.0.0.0Date:Fri,07Jan201

c# - 在可移植类库中生成 SHA1 哈希

我正在尝试构建一个可移植类库,该类库生成OAuthURL供其他类/应用程序使用。这个使用OAuth的类库必须是一个可移植类库,以便它可以与我正在构建的不同版本的DropBoxAPI一起使用。这个类的一部分需要生成一个SHA1散列来生成oauth_signature。我知道可移植类库不支持System.Security.Cryptography,那么这个类是否可以在没有该类的情况下生成SHA1哈希? 最佳答案 我认为最简单的方法是使用PCLCryptonuget包。然后你可以这样做:privatestaticstringCalcula