Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 4008286
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 20, 20262026-05-20T08:44:09+00:00 2026-05-20T08:44:09+00:00

I understand full the ref word in the .NET Since using the same variable,

  • 0

I understand full the ref word in the .NET

Since using the same variable, would increase speed to use ref instead of making copy?

I find bottleneck to be in password general.

Here is my codes

protected internal string GetSecurePasswordString(string legalChars, int length)
{
    Random myRandom = new Random();
    string myString = "";
    for (int i = 0; i < length; i++)
    {
        int charPos = myRandom.Next(0, legalChars.Length - 1);
        myString = myString + legalChars[charPos].ToString();
    }
    return myString;
}

is better to ref before legalchars?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-20T08:44:10+00:00Added an answer on May 20, 2026 at 8:44 am

    No, you shouldn’t pass the string reference by reference.

    However, you are creating several strings pointlessly. If you’re creating long passwords, that could be why it’s a bottleneck. Here’s a faster implementation:

    protected internal string GetSecurePasswordString(string legalChars, int length)
    {
        Random myRandom = new Random();
        char[] chars = new char[length];
        for (int i = 0; i < length; i++)
        {
            int charPos = myRandom.Next(0, legalChars.Length - 1);
            chars[i] = legalChars[charPos];
        }
        return new string(chars);
    }
    

    However, it still has three big flaws:

    • It creates a new instance of Random each time. If you call this method twice in quick succession, you’ll get the same password twice. Bad idea.
    • The upper bound specified in a Random.Next() call is exclusive – so you’ll never use the last character of legalChars.
    • It uses System.Random, which is not meant to be in any way cryptographically secure. Given that this is meant to be for a “secure password” you should consider using something like System.Security.Cryptography.RandomNumberGenerator. It’s more work to do so because the API is harder, but you’ll end up with a more secure system (if you do it properly).

    You might also want to consider using SecureString, if you get really paranoid.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I would like to understand the full meaning of the @SessionScoped annotation in a
I understand the main function of the lock key word from MSDN lock Statement
I've been using ASP.NET (C#) for the past two years. I have learned so
I understand how I can change the dns settings for my domains by editing
I understand what System.WeakReference does, but what I can't seem to grasp is a
I understand how JS is run and I think I understand most of the
I understand that some countries have laws regarding website accessibility. In general, what are
I understand the overall meaning of pointers and references(or at least I think i
I understand that there are several ways to blend XNA and WPF within the
I understand the difference between String and StringBuilder ( StringBuilder being mutable) but is

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.