惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

MongoDB | Blog
MongoDB | Blog
J
Java Code Geeks
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
D
DataBreaches.Net
腾讯CDC
GbyAI
GbyAI
I
InfoQ
博客园 - Franky
G
Google Developers Blog
Last Week in AI
Last Week in AI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
V
Visual Studio Blog
Vercel News
Vercel News
博客园_首页
MyScale Blog
MyScale Blog
Martin Fowler
Martin Fowler
N
Netflix TechBlog - Medium
V
V2EX
T
The Blog of Author Tim Ferriss
M
MIT News - Artificial intelligence
雷峰网
雷峰网
H
Hackread – Cybersecurity News, Data Breaches, AI and More
大猫的无限游戏
大猫的无限游戏
The GitHub Blog
The GitHub Blog

博客园 - 佛西亚

https访问 asp.net Core上传文件 .NET Framework 4.0 DLL注册GAC 使用iText 7读取PDF文件中的文本和图片 用SQL Server Profiler跟踪AX执行的SQL语句 D365升级包 Ant Design Pro V5 + Django Restful Framework Token认证前台实现 Ant Design Pro V5 + Django Restful Framework Token认证后台实现(二) Ant Design Pro V5 + Django Restful Framework Token认证后台实现(一) D365 FO Array增加排序 D365 FO无法命中断点 Ant Design Pro V5 开发时使用后台服务数据 JavaScript跨域访问 同步数据库报错 DataEntity增加关联DataSource Java通过代理上传文件到Azure blob 使用iText7操作PDF D365 FO Json序列化和反序列化 D365 FO操作Azure Blob
D365 FO产生随机字符串
佛西亚 · 2020-12-26 · via 博客园 - 佛西亚

可以直接用.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();
    }