对于那些赶时间,这是不相关的争议Dual_EC_DRBG埋下NIST的SP800-90A内。
关于两个RNG:
Microsoft BCRYPT 层基于他们的 C API。BCryptGenRandom遵循 NIST SP800-90A CTR_DRBG(即使用经批准的分组密码 AES 来创建随机位)。但是,尚不清楚它是否使用硬件随机源作为种子(或种子的一部分)......
Microsoft .NETRNGCryptoServiceProvider是基于 C# 的。查看.NET 源代码(或此处),我看到它最终调用了 C++ 方法CapiNative.GenerateRandomBytes()。C#=>C++ 转换应该有一个 P/Invoke 存根,但我在框架源代码中的任何地方都找不到它。所以我不知道它是如何实际实施的。
有没有人有关于这两个随机数生成器的其他信息?是否使用 HW 随机种子(通过旧英特尔中的二极管噪声或RDRAND最新英特尔中的争议)。
PS:不确定这应该在安全、StackOverflow 或密码学...
我们需要调试仅在云中表现出来的问题.它不会出现在模拟器中(即使使用云连接字符串等).我们在登台Web角色实例上安装了RDP,并在其上启用了WebDeploy,以便快速轻松地进行调试/代码更改.
我们想要的是更强大的东西,我们的本地VS2010(旗舰版)可以在远程Web角色上设置/触发断点并检查局部变量等.
有谁知道设置上述方法?
.net remote-debugging azure visual-studio-debugging azure-web-roles
这与C#有关.我们有一种情况需要将整个源流复制到目标流中,除了最后16个字节.
编辑:流可以达到40GB,所以不能做一些静态byte []分配(例如:.ToArray())
看看MSDN文档,似乎只有当返回值为0时我们才能可靠地确定流的结束.返回值介于0和之间the requested size可能意味着字节"当前不可用"(这究竟意味着什么?)
目前,它按如下方式复制每个字节.inStream并且outStream是通用的 - 可以是内存,磁盘或网络流(实际上也是一些).
public static void StreamCopy(Stream inStream, Stream outStream)
{
var buffer = new byte[8*1024];
var last16Bytes = new byte[16];
int bytesRead;
while ((bytesRead = inStream.Read(buffer, 0, buffer.Length)) > 0)
{
outStream.Write(buffer, 0, bytesRead);
}
// Issues:
// 1. We already wrote the last 16 bytes into
// outStream (possibly over the n/w)
// 2. last16Bytes = …Run Code Online (Sandbox Code Playgroud) Microsoft Azure的Web站点将其CPU消耗报告为CPU时间,并以毫秒为单位进行测量.我知道这是运行代码所花费的时间,但它无助于做出扩展决策.我们正在制定"标准"计划,该计划为我们提供了整个虚拟机(无共享).
另一方面,Azure云服务将其CPU消耗报告为"CPU%",它可以清楚地传达总容量和当前消耗以轻松扩展(例如:超过80%=>向上扩展.低于15%=>向下扩展)
所以问题是,考虑到像CPU时间这样没有衡量容量的滑动措施,你如何确定扩大/缩小天蓝网站决策的剩余容量是多少?
我正在尝试将我的excel电子表格中的内容转换为Javascript,并在我的电子表格中出现了NORMSINV()宏.
NormSInv()很好地记录在http://office.microsoft.com/en-us/excel-help/normsinv-HP005209195.aspx上.基本上它的形式为Z = NormSInv(概率),如果给它概率(比如说0.90),它会给出标准正态分布的Z值(Z = 1.33).
我可以根据http://en.wikipedia.org/wiki/Standard_normal_table对整个转换表进行编码,但是要避免重新发明轮子.
那么,Javascript中是否有这样的功能?例如.在Javascript的数学库中(如果有这样的东西!).
谢谢Sid
在我试图清除的过程中,DiagnosticMonitorConfiguration我尝试了以下方法:
但我仍然DirectoryConfiguration在DiagnosticMonitorConfiguration的目录数据源中看到额外的成员副本.Application_Start()每当IIS线程退役(空闲时间为20分钟)时调用global.asax时,会意外添加这些额外的副本.我已经复制粘贴了BUGGY代码,显示了它们的添加方式(最终我得到了一个例外OverallQuotaInMB is 150MB but sum of requested sub-quotas is 850MB).
问题:我理解为什么会有重复.但是,尽管尝试了上述项目符号列表中的操作,为什么DiagnosticMonitorConfiguration不会被清除?究竟是什么状态被坚持下去?我只能认为它必须是Azure表或Azure SQL - 但这只是猜测.
// called from global.asax's Application_Start()
public bool Initialize()
{
RoleInstanceDiagnosticManager roleInstanceDiagnosticManager = getRoleInstanceDiagnosticManager();
config = roleInstanceDiagnosticManager.GetCurrentConfiguration();
if (config == null)
config = DiagnosticMonitor.GetDefaultInitialConfiguration();
LocalResource localResource = RoleEnvironment.GetLocalResource("MyAppLogFolder");
DirectoryConfiguration dirConfig = new DirectoryConfiguration();
dirConfig.Container = "myapplog-blob";
dirConfig.DirectoryQuotaInMB = localResource.MaximumSizeInMegabytes;
dirConfig.Path = localResource.RootPath;
// This is a BUG, keeps …Run Code Online (Sandbox Code Playgroud) 测试评估显示MemoryStream总是返回"平滑"结果.即如果我们从MemoryStream400字节工作缓冲区中读取200个字节,它总是在一次调用中返回恰好200个字节.如果我们将4000字节读入200字节的工作缓冲区,那么它总是正好20次迭代,每次完全200字节.
问题是MemoryStreamcan(在现实世界中,角落情况)代表慢流源(如网络或文件).因此,读取可能不那么确定.每个Read操作可能会返回读取的非确定性字节数(例如:8,1,105,20,5,80 ......)
那么,将一个香草MemoryStream转变为(因为缺少一个更好的词)是一个很好的方法,ChaosStream其中读取的字节数是1和读取请求之间的随机数count?(注意,0表示流结束).字节本身需要是底层字节,只需读取一些随机性/抖动即可扩展测试覆盖范围.
注意到在多线程上并行生成随机数时,加密随机数生成器不是线程安全的.使用的生成器RNGCryptoServiceProvider似乎重复了很长的随机位(128位).重现此代码的代码如下所示.
如果没有使用锁来保护对RNGCryptoServiceProvider实例的访问(这会杀死整个速度点),有没有人有更快的方法来生成加密随机数?
using System;
using System.Runtime.Caching;
using System.Security.Cryptography;
using System.Threading.Tasks;
namespace ParallelRandomness
{
class Program
{
static void Main(string[] args)
{
var test = new Test();
Console.Write("Serialized verion running ... ");
test.Run(false);
Console.WriteLine();
Console.Write("Parallelized verion running ... ");
test.Run(true);
Console.WriteLine(Environment.NewLine + "Done.");
Console.ReadLine();
}
}
class Test
{
private readonly RNGCryptoServiceProvider _rng = new RNGCryptoServiceProvider();
private readonly byte[] _randomBytes = new byte[128 / 8];
private int collisionCount = 0;
private readonly object collisionCountLock = new object(); …Run Code Online (Sandbox Code Playgroud) 我们有一个MVC3控制器,其中有一些"常见"工作,我们已经进入控制器构造函数.一些常见的工作是由一个失败耦合的类(比如说ourService)通过Unity动态解决(对于IoC /依赖注入).ourService在Controller的构造函数中为null(即未解析)但它在通常的Controller方法中正确解析.下面的简单演示代码显示了问题:
public class Testing123Controller : BaseController
{
[Dependency]
public IOurService ourService { get; set; }
public Testing123Controller()
{
ourService.SomeWork(1); // ourService=null here !!
...
}
public ActionResult Index()
{
ourService.SomeWork(1); // resolved properly here here !!
...
}
...
}
Run Code Online (Sandbox Code Playgroud)
问题:
我们设置Unity 2.0的方式是:
Global.asax中
Application_Start()
{
...
Container = new UnityContainer();
UnityBootstrapper.ConfigureContainer(Container);
DependencyResolver.SetResolver(new UnityDependencyResolver(Container));
...
}
public static void ConfigureContainer(UnityContainer container)
{
...
container.RegisterType<IOurService, OurService>();
...
}
Run Code Online (Sandbox Code Playgroud)
IOurService.cs
public interface IOurService
{ …Run Code Online (Sandbox Code Playgroud) 我们有一个Hashtable(特别是C#Dictionary类),它可以保存数千/数百万(Key,Value)对,用于近O(1)搜索命中/未命中.
我们希望能够将此数据结构刷新到磁盘(序列化)并稍后再次加载(反序列化),以便保留Dictionary的内部哈希表.
我们现在做的是:
List<KVEntity>.(KVEntity可序列化.我们使用Avro进行序列化 - 如果需要可以删除Avro)KVEntity从array =>字典中读取每一个.这将重新生成字典/散列表内部状态.myKVDict.Values.SelectMany(x => x)新的List<KVEntity>)List<KVEntity>)序列化为磁盘以保存原始数据请注意,在我们的保存/恢复期间,我们会丢失内部tashtable /字典状态,并且每次都必须重建它.
我们想直接序列化到/来自Dictionary(包括它的内部"实时"状态),而不是仅仅为磁盘i/o使用中间数组.我们怎么做?
一些伪代码:
// The actual "node" that has information. Both myKey and myValue have actual data work storing
public class KVEntity
{
public string myKey {get;set;}
public DataClass myValue {get;set;}
}
// unit of disk IO/serialization
public List<KVEntity> myKVList {get;set;}
// unit of run time processing. The string key is …Run Code Online (Sandbox Code Playgroud) c# ×5
.net ×3
azure ×3
cryptography ×2
random ×2
stream ×2
asp.net-mvc ×1
dictionary ×1
javascript ×1
math ×1
scalability ×1
security ×1
statistics ×1