c#几种随机数组和数组乱序
相关资料MSDN:RNGCryptoServiceProvider Random Guid
private static RNGCryptoServiceProvider rngCsp = new RNGCryptoServiceProvider();
static void Main(string[] args)
{
byte[] byt1 = new byte[];
byte[] byt2 = new byte[];
byte[] byt3 = new byte[];
//加密型强随机值序列填充字节数组(非零值)
rngCsp.GetNonZeroBytes(byt1);
Console.WriteLine("rngCsp.GetNonZeroBytes:");
Console.WriteLine(ShowBytes(byt1));
//加密型强随机值序列填充字节数组
rngCsp.GetBytes(byt2);
Console.WriteLine("rngCsp.GetBytes:");
Console.WriteLine(ShowBytes(byt2));
//对数组进行随机填充
new Random().NextBytes(byt3);
Console.WriteLine("Random().NextBytes:");
Console.WriteLine(ShowBytes(byt3));
//用GUID(UUID)(固定16字节)
byte[] byt4 = System.Guid.NewGuid().ToByteArray();
Console.WriteLine("System.Guid:");
Console.WriteLine(ShowBytes(byt4));
//乱序
GetDisorderBytes(byt4);
Console.WriteLine("GetDisorderBytes:");
Console.WriteLine(ShowBytes(byt4));
Console.ReadLine();
}
/// <summary>
/// 乱序排列一个数组
/// </summary>
public static void GetDisorderBytes(byte[] byt)
{
int min = ;
int max = byt.Length;
int inx = ;
byte b = ;
Random rnd=new Random ();
while (min != max)
{
int r = rnd.Next(min++, max);
b = byt[inx];
byt[inx] = byt[r];
byt[r] = b;
inx++;
}
}
/// <summary>
/// 方便输出查看
/// </summary>
public static string ShowBytes(byte[] byt)
{
string s = string.Empty;
for (int i = ; i < byt.Length; i++)
s += string.Format("{0:000}", byt[i]) + " ";
return s;
}
//输出
//104 017 080 138 083 174 009 072 048 125 076 075 100 081 155 097
//rngCsp.GetBytes:
//101 077 221 174 243 202 019 218 110 247 086 020 049 191 060 021
//Random().NextBytes:
//008 060 247 003 064 156 157 221 207 132 050 216 133 248 172 154
//System.Guid:
//114 137 072 093 005 222 148 076 155 023 032 029 039 116 099 014
//GetDisorderBytes:
//148 093 137 222 032 155 116 114 023 076 099 014 072 005 029 039
c#几种随机数组和数组乱序的更多相关文章
- 网络损伤仪WANsim中的乱序功能
乱序 乱序功能需要指定每个帧 发生乱序的概率,以及新的帧的位置相较于原来位置的时间范围. 乱序的概率范围是0%~20%,颗粒度是0.001%.Delay的设置范围为 0s~10s,颗粒度为0.1 ms ...
- 使用Arraylist将数组中元素随机均等乱序分为N个子数组
使用Arraylist将数组中元素随机均等乱序分为N个子数组 觉得有用的话,欢迎一起讨论相互学习~Follow Me 为了将数组中的元素 随机地 ,均等地, 不重复地 ,划分到N个子数组中 使用Arr ...
- 由乱序播放说开了去-数组的打乱算法Fisher–Yates Shuffle
之前用HTML5的Audio API写了个音乐频谱效果,再之后又加了个播放列表就成了个简单的播放器,其中弄了个功能是'Shuffle'也就是一般播放器都有的列表打乱功能,或者理解为随机播放. 但我觉得 ...
- JavaScript中实现最高效的数组乱序方法
数组乱序的意思是,把数组内的所有元素排列顺序打乱. 常用的办法是给数组原生的sort方法传入一个函数,此函数随机返回1或-1,达到随机排列数组元素的目的. 复制代码代码如下: arr.sort(fun ...
- IOS第四天(3:数组的排序和乱序)
数组的升序和降序 - (void)sortWith:(NSArray *)array { // 排序 array = [array sortedArrayUsingComparator:^NSComp ...
- js数组乱序输出 数组乱序排列
网上看的数组乱序输出,要么不合实际,要么代码繁琐.自己试了下,希望能给大家带来帮助. 重要思想也是Math.random*arr.length随机下标,然后删除取到的元素,继续随机下标. //将数组乱 ...
- JavaScript tips —— 谈谈数组乱序
前言 先看一个段代码 function randArr (arr) { return arr.sort(() => { return (Math.random() - 0.5); }); } 目 ...
- JavaScript随机数组(数组、随机、取整、取值的过程)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&q ...
- java将一数组乱序排列
JAVA的Collections类中shuffle方法模拟了“洗牌”动作可以对list列表进行随机排序.如果一定要自己写,算法也很简单:假设数组array长度为n.用标准随机函数rand(n)生成[0 ...
随机推荐
- iMX6Q开发板的EIM接口的配置可以与FPGA通讯-交换数据-最常用的接口配置
最近基于迅为的i.mx6Q开发板进行了一个FPGA项目的开发,下面给大家介绍一下EIM接口的配置,包括引脚的的选择和寄存器的配置 For the usage of WEIM on i.MX6, you ...
- Lambda表达式概念与基本语法
Lambda表达式是Java 8的重要更新,一个被广大开发者期待已久的新特性.Lambda表达式支持将代码块作为方法参数,Lambda表达式允许使用更简洁的代码来创建只有一个抽象方法的接口(这种接口被 ...
- 开启IIS的WebGarden、WebFarm和StateServer之旅
前言 公司系统虽然配置有1台NLB后拖4台App Server最后搭一台强劲无比的DB Server,但每天下午4点左右总被投诉系统慢,报表下载不了等问题.究其原因,原来NLB采用锁定sessionI ...
- 安卓触控一体机的逆袭之路_追逐品质_支持APP软件安卓
显示性能参数 接口:RGB信号 分辨率:1024*600 比例16:9 显示尺寸(A.A.):222.72*(W)*125.28(H)mm 外围尺寸:235.0(W)*143.0(H)*4.5(T)m ...
- 2018-2019-2 网络对抗技术 20165237 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165237 Exp3 免杀原理与实践 一.实践目标 1.1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳 ...
- Leetcode-1.两数之和
题目描述: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这个数 ...
- CentOS 7.2 Ubuntu 18部署Rsync + Lsyncd服务实现文件实时同步/备份
发送端配置: 一.配置密钥 1. 主/从服务器之间启用基于密钥的身份验证.登录发送端服务器并用 " ssh-keygen " 命令生成公共或私有的密钥. 2. 使用 " ...
- 微信公众号替换title
说明:项目使用 vue 开发 方法一: 单页应用里整个页面只会在第一次完全刷新,后面只会局部刷新(一般不包括head及里面的title),所以无法在服务器端控制title,只能在页面刷新的时候通过js ...
- C# this关键字的四种用法
Go to below URL to find more details and example. http://blog.csdn.net/longlong821/article/details/7 ...
- docker基础命令汇总
搜索镜像 docker search 镜像名称 例如:docker search centos7 下载镜像 docker pull 镜像名称 例如:docker pull centos7 启动容器 d ...