D365 FO产生随机字符串
可以直接用.net里的类库中的方法生成随机数。
System.Web.Security.Membership::GeneratePassword(_length, 0)。
这个是用来生成随机密码的一个方法,第二个参数是至少要包含非数字字母的字符的个数。
如果是想生成的随机字符串只包含字符和数字,这个方法就不适合了,可以用如下代码:
public static str randomAlphaNumericStr(int _size) { System.String sourceStr = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; System.Char[] chars = sourceStr.ToCharArray(); System.Byte[] data = new System.Byte[4 * _size](); using (RNGCryptoServiceProvider crypto = new RNGCryptoServiceProvider()) { crypto.GetBytes(data); } System.Text.StringBuilder result = new System.Text.StringBuilder(_size); for (int i = 0; i < _size; i++) { var rnd = System.BitConverter::ToUInt32(data, i * 4); var idx = rnd mod chars.Length; result.Append(chars.GetValue(idx)); } return result.ToString(); }