Results 1 to 21 of 21

Thread: [RESOLVED] Making your own encryption alphabet?

  1. #1

    Thread Starter
    Lively Member
    Join Date
    Jan 2010
    Posts
    118

    Resolved [RESOLVED] Making your own encryption alphabet?

    Hey,

    Im wanting to make my own alphabet for my encryption, ex:

    A=g
    a=X

    Etc. What is the best way to do this and it make it as encryption?

  2. #2
    PowerPoster cicatrix's Avatar
    Join Date
    Dec 2009
    Location
    Moscow, Russia
    Posts
    3,654

    Re: Making your own encryption alphabet?

    Paste this into your form:
    vb.net Code:
    1. Imports System.Security.Cryptography
    2. Public Class TripleDESdemo
    3.  
    4.     Private txtPass, txtEnc, txtDec, txtSrc As TextBox
    5.     Private lblInfo, lblPass, lblSource, lblEncrypted, lblDecrypted As Label
    6.     Private des3 As New System.Security.Cryptography.TripleDESCryptoServiceProvider
    7.  
    8.     Public Sub New()
    9.         Me.SuspendLayout()
    10.         Me.Text = "Triple DES demo"
    11.         Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
    12.         ' Initializing and placing controls
    13.  
    14.         Dim Sspc As Integer = 5 ' Single spacing interval in pixels
    15.         Dim Dspc As Integer = 10 ' Double spacing interval in pixels
    16.  
    17.         lblPass = New Label With {.Left = Sspc, .Top = Sspc, .Height = Me.Font.Height, .AutoSize = True, .Text = "Type Password here:"}
    18.         txtPass = New TextBox With { _
    19.                     .PasswordChar = "*"c, _
    20.                     .Left = lblPass.Right + Dspc, _
    21.                     .Top = Sspc, .Width = 100, .TabIndex = 0}
    22.         lblInfo = New Label With {.Left = txtPass.Right + Sspc, .Top = Sspc, .Height = Me.Font.Height, .AutoSize = True, .ForeColor = Color.Red}
    23.  
    24.         lblSource = New Label With {.Left = Sspc, .Top = txtPass.Bottom + Dspc, .Height = Me.Font.Height, .AutoSize = True, .Text = "Type source text here:"}
    25.         txtSrc = New TextBox With {.Multiline = True, .Left = Sspc, .Top = lblSource.Bottom + Sspc, .Width = 380, .Height = 100, .TabIndex = 1, .Enabled = False}
    26.  
    27.         lblEncrypted = New Label With {.Left = Sspc, .Top = txtSrc.Bottom + Dspc, .Height = Me.Font.Height, .AutoSize = True, .Text = "Encrypted message:"}
    28.         txtEnc = New TextBox With {.Multiline = True, .Left = Sspc, .Top = lblEncrypted.Bottom + Sspc, .Width = 380, .Height = 100, .TabIndex = 2, .ReadOnly = True}
    29.  
    30.         lblDecrypted = New Label With {.Left = Sspc, .Top = txtEnc.Bottom + Dspc, .Height = Me.Font.Height, .AutoSize = True, .Text = "Decrypted text:"}
    31.         txtDec = New TextBox With {.Multiline = True, .Left = Sspc, .Top = lblDecrypted.Bottom + Sspc, .Width = 380, .Height = 100, .TabIndex = 3, .ReadOnly = True}
    32.  
    33.         Me.ClientSize = New Size(txtSrc.Right + Sspc, txtDec.Bottom + Sspc)
    34.         Me.Controls.AddRange(New Control() {lblInfo, lblPass, lblSource, lblEncrypted, lblDecrypted, _
    35.                                        txtPass, txtEnc, txtDec, txtSrc})
    36.  
    37.         Me.ResumeLayout()
    38.     End Sub
    39.  
    40.     Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    41.         AddHandler txtPass.TextChanged, AddressOf txtPass_TextChanged
    42.     End Sub
    43.  
    44.     Private Function ToBase64(ByVal data() As Byte) As String
    45.         Return Convert.ToBase64String(data)
    46.     End Function
    47.  
    48.     Private Function FromBase64(ByVal base64 As String) As Byte()
    49.         Return Convert.FromBase64String(base64)
    50.     End Function
    51.  
    52.     Private Function CreateKeyFromPass(ByVal Password As String) As Byte()
    53.         Dim key() As Byte = System.Text.Encoding.Default.GetBytes(txtPass.Text.ToCharArray)
    54.         If key.Length < 24 Then ReDim Preserve key(23)
    55.         Return key
    56.     End Function
    57.  
    58.     Private Sub txtPass_TextChanged(ByVal sender As Object, ByVal e As EventArgs)
    59.         Try
    60.             des3.Key = CreateKeyFromPass(txtPass.Text)
    61.             lblInfo.Text = ""
    62.             AddHandler txtSrc.TextChanged, AddressOf txtSrc_TextChanged
    63.             txtSrc.Enabled = True
    64.         Catch ex As CryptographicException
    65.             lblInfo.Text = "Password is too weak"
    66.             txtSrc.Enabled = False
    67.             RemoveHandler txtSrc.TextChanged, AddressOf txtSrc_TextChanged
    68.         End Try
    69.     End Sub
    70.  
    71.     Private Sub txtSrc_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
    72.         'If txtSrc.Text.Length < 10 Then Exit Sub
    73.         Dim bytes As Byte() = System.Text.Encoding.Default.GetBytes(txtSrc.Text.ToCharArray)
    74.         Dim Count = bytes.Length
    75.         Dim key As Byte() = CreateKeyFromPass(txtPass.Text)
    76.  
    77.         Dim encbytes As Byte() = Encrypt(key, bytes)
    78.  
    79.         txtEnc.Text = ToBase64(encbytes)
    80.         Dim decbytes As Byte() = Decrypt(key, FromBase64(txtEnc.Text))
    81.  
    82.         txtDec.Text = System.Text.Encoding.Default.GetChars(decbytes)
    83.     End Sub
    84.  
    85.     Private Function Encrypt(ByVal key As Byte(), ByVal data As Byte()) As Byte()
    86.  
    87.         Randomize()
    88.         des3.GenerateIV()
    89.         des3.Key = key
    90.  
    91.         Dim Header() As Byte = BitConverter.GetBytes(des3.IV.Length)
    92.  
    93.         ' Header:
    94.         ' First 4 bytes are the length of initialization vector
    95.         ' Then the initialization vector itself
    96.         ReDim Preserve Header(Header.Length + des3.IV.Length - 1)
    97.         Array.ConstrainedCopy(des3.IV, 0, Header, 4, des3.IV.Length)
    98.         Dim enc = des3.CreateEncryptor()
    99.         Dim encrypted As Byte() = enc.TransformFinalBlock(data, 0, data.Length)
    100.         Dim result(Header.Length + encrypted.Length - 1) As Byte
    101.         Array.ConstrainedCopy(Header, 0, result, 0, Header.Length)
    102.         Array.ConstrainedCopy(encrypted, 0, result, Header.Length, encrypted.Length)
    103.         Return result
    104.     End Function
    105.  
    106.     Private Function Decrypt(ByVal key As Byte(), ByVal data As Byte()) As Byte()
    107.         Dim Header(3) As Byte
    108.         Array.ConstrainedCopy(data, 0, Header, 0, 4)
    109.         Dim IVLength As Integer = BitConverter.ToInt32(Header, 0)
    110.         Dim IV(IVLength - 1) As Byte
    111.         Array.ConstrainedCopy(data, 4, IV, 0, IVLength)
    112.         des3.IV = IV
    113.         des3.Key = key
    114.         Dim dec = des3.CreateDecryptor()
    115.         Dim BytesToDecrypt(data.Length - IV.Length - 4 - 1) As Byte
    116.         Array.ConstrainedCopy(data, IV.Length + 4, BytesToDecrypt, 0, BytesToDecrypt.Length)
    117.         Return dec.TransformFinalBlock(BytesToDecrypt, 0, BytesToDecrypt.Length)
    118.     End Function
    119.  
    120.  
    121. End Class

  3. #3

    Thread Starter
    Lively Member
    Join Date
    Jan 2010
    Posts
    118

    Re: Making your own encryption alphabet?

    Okay, I dont really understand everything in your code, so can anyone help me make this into my login system, so the people's information and password is saved carefully and uncrackable? You can get my project from here if you want to help:

    Hidden
    Last edited by Teunjack; Feb 15th, 2010 at 09:45 AM.

  4. #4
    Super Moderator Shaggy Hiker's Avatar
    Join Date
    Aug 2002
    Location
    Idaho
    Posts
    38,988

    Re: Making your own encryption alphabet?

    You want an alphabetic replacement algorithm that's uncrackable? Such a thing doesn't exits.
    My usual boring signature: Nothing

  5. #5

    Thread Starter
    Lively Member
    Join Date
    Jan 2010
    Posts
    118

    Re: Making your own encryption alphabet?

    Hmm, Okay..

    But if still anyone can help adding encryption to my login system, please send me the finished project for it and I will set this thread as resolved, cause I really think I need encryption to my login system cause its very crackable as it is now..

    Thanks.

  6. #6
    PowerPoster Jenner's Avatar
    Join Date
    Jan 2008
    Location
    Mentor, OH
    Posts
    3,712

    Re: Making your own encryption alphabet?

    Yea, alphabetic replacement is crackable in milliseconds on a modern PC. You could brute-force it.

    To quote from one of my favorite books on the subject:
    Quote Originally Posted by Applied Cryptography, Bruce Schneier
    There are two kinds of cryptography in this world: cryptography that will stop your kid sister from reading your files, and cryptography that will stop major governments from reading your files. This book is about the latter.
    Trust me, you don't want to use the former for anything but a learning tool. Check out the book too.
    Last edited by Jenner; Feb 3rd, 2010 at 10:18 AM.
    My CodeBank Submissions: TETRIS using VB.NET2010 and XNA4.0, Strong Encryption Class, Hardware ID Information Class, Generic .NET Data Provider Class, Lambda Function Example, Lat/Long to UTM Conversion Class, Audio Class using BASS.DLL

    Remember to RATE the people who helped you and mark your forum RESOLVED when you're done!

    "Two things are infinite: the universe and human stupidity; and I'm not sure about the universe. "
    - Albert Einstein

  7. #7

    Thread Starter
    Lively Member
    Join Date
    Jan 2010
    Posts
    118

    Re: Making your own encryption alphabet?

    I think my program isnt really worth it to crack it, but its worth to just secure it, to stop noobs from cracking it without that big tools. lol

  8. #8

  9. #9

    Thread Starter
    Lively Member
    Join Date
    Jan 2010
    Posts
    118

    Re: Making your own encryption alphabet?

    I dont really know how I let that work onto my code, cause I think its a little different than my system.

  10. #10
    PowerPoster cicatrix's Avatar
    Join Date
    Dec 2009
    Location
    Moscow, Russia
    Posts
    3,654

    Re: Making your own encryption alphabet?

    Which system you are in? This was written for vs2008, but it should work for 2005 also
    The key functions are Encrypt and Decrypt. They use a Visual Studio Triple DES symmetrical encryption algorhythm.

    The initialization of the des service provider takes place in the beginnin (at the class level):
    vb.net Code:
    1. Private des3 As New System.Security.Cryptography.TripleDESCryptoServiceProvider


    Both encrypt and decrypt functions receive a key as an array of bytes - and the data to encrypt or decrypt in the same form of byte array.

    Read the comments to the code:

    vb.net Code:
    1. Private Function Encrypt(ByVal key As Byte(), ByVal data As Byte()) As Byte()
    2.         ' We're randomizing a random number generator
    3.         Randomize()
    4.  
    5.         ' We tell our des3 object to generate a new random Initialization Vector (IV)
    6.         ' We need the IV in order to make every new byte encrypted differently or otherwise
    7.         ' every A symbol would be encrypted the same way and we don't want it to happen.
    8.         des3.GenerateIV()
    9.  
    10.         ' Here we provide a key for the encryption (we got it as a parameter)
    11.         ' Triple DES requires the key to be no less than 24 byte and it has its
    12.         ' own check whether the key is weak (if it will think that it's too weak to
    13.         ' be used as an encryption key it will generate an exception).
    14.         des3.Key = key
    15.  
    16.         ' We could join IV with Key but we're doing it differently this time
    17.         ' We make sure that we know the length in bytes of the IV
    18.         ' and then convert that 32bit integer into a byte array here:
    19.         Dim Header() As Byte = BitConverter.GetBytes(des3.IV.Length)
    20.  
    21.         ' The most important part:
    22.         ' To decrypt the message you will need both key and IV
    23.         ' our key is a big secret, but we can store IV as a header for
    24.         ' our encrypted data, it goes like this:
    25.         ' 4 bytes - the length of IV in bytes (L)
    26.         ' Then we need L bytes to store the IV itself
    27.         ' After this goes our encrypted data
    28.         ' To decrypt this message we need to read the first 4 bytes of it and find out how many
    29.         ' more bytes we should read to get the proper IV (well, we'll need a key too)
    30.        
    31.         ' We make some space for storing IV
    32.         ReDim Preserve Header(Header.Length + des3.IV.Length - 1)
    33.        
    34.         ' And copy IV bytes into our Header array
    35.         Array.ConstrainedCopy(des3.IV, 0, Header, 4, des3.IV.Length)
    36.  
    37.         ' Then we obtain the encryptor (a class instance that will perform the
    38.         ' encryption using our key and IV:
    39.         Dim enc = des3.CreateEncryptor()
    40.  
    41.         ' Here's the encryption per se - we obtain an encrypted byte array:
    42.         Dim encrypted As Byte() = enc.TransformFinalBlock(data, 0, data.Length)
    43.  
    44.         ' But we also need to include our header we prepared earlier, so
    45.         ' we create a finar byte array that will contain IV length, IV and the encrypted data:
    46.         Dim result(Header.Length + encrypted.Length - 1) As Byte
    47.  
    48.         ' We copy our header to its beginning:
    49.         Array.ConstrainedCopy(Header, 0, result, 0, Header.Length)
    50.  
    51.         ' We also copy our encrypted data:
    52.         Array.ConstrainedCopy(encrypted, 0, result, Header.Length, encrypted.Length)
    53.        
    54.         ' And return it to the calling function:
    55.         Return result
    56.     End Function

    Now, as I mentioned before, we need a key with a length of at least 24 bytes.
    That's why we need some kind of password we would use as an encryption key. To prepare it we will use this function that converts a string password into a byte array with its length greater or equal to 24 bytes:

    vb.net Code:
    1. Private Function CreateKeyFromPass(ByVal Password As String) As Byte()
    2.         ' We convert the text from txtPass textbox into a byte array:
    3.         Dim key() As Byte = System.Text.Encoding.Default.GetBytes(txtPass.Text.ToCharArray)
    4.        
    5.         ' But if it's smaller than 24 bytes we simply resizing it (the rest bytes are filled with zeroes):
    6.         If key.Length < 24 Then ReDim Preserve key(23)
    7.         Return key
    8. End Function

    Also, to be sure that our des3 encryptor will accept our key we should check it first:

    vb.net Code:
    1. Try
    2.     des3.Key = CreateKeyFromPass(txtPass.Text)
    3. Catch ex As System.Security.Cryptography.CryptographicException
    4.     ' If des3 won't accept our key it will throw an exception and
    5.     ' we will catch it here and say something nice to a user, i.e. "Password is too weak."
    6. End Try

    OK we can encrypt and decrypt, but in the middle we get a byte array. We can stop at that and dump our array to disk, but if we want to sent an encrypted message via e-mail, for example, we would have to convert it into something that can be safely transferred in plain text format.
    I used BASE64 encoding that is implemented by Visual studio and is relatively easy to handle:
    To convert a byte array into BASE64 format and back I use these two functions:

    vb.net Code:
    1. Private Function ToBase64(ByVal data() As Byte) As String
    2.    Return Convert.ToBase64String(data)
    3. End Function
    4.  
    5. Private Function FromBase64(ByVal base64 As String) As Byte()
    6.    Return Convert.FromBase64String(base64)
    7. End Function

    That's it. The rest is simply elements of user interface (I create textboxes and labels, position them on a form and assigning handlers to some events I need).

    How to make a login window using all this:

    Step 1:
    First you should create a form that will allow to create users:
    Place 3 textboxes on a form and name them txtUser, txtPass1, txtPass2
    Use some nice PasswordChar for two password boxes, also btnCreate and btnCancel.

    Like this:


    In the btnCreate_Click event do the following:
    vb.net Code:
    1. Private Sub btnCreate_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnCreate.Click
    2.     If txtPass1.Text <> txtPass2.Text Then
    3.         MsgBox("Passwords are not the same!")
    4.         txtPass1.Focus
    5.         Exit Sub
    6.     End If
    7.  
    8.     Try
    9.         des3.Key = CreateKeyFromPass(txtPass.Text)
    10.     Catch ex As System.Security.Cryptography.CryptographicException
    11.         MsgBox("Password is too weak!")
    12.         txtPass1.Focus
    13.         Exit Sub
    14.     End Try
    15.  
    16.     ' We will encrypt user's login:
    17.     Dim bytes As Byte() = System.Text.Encoding.Default.GetBytes(txtUser.Text.ToCharArray)
    18.     Dim key As Byte() = CreateKeyFromPass(txtPass.Text)
    19.     Dim encbytes As Byte() = Encrypt(key, bytes)
    20.    
    21.     ' We check whether a user exists:
    22.     If IO.File.Exists(txtUser.Text + ".usr") Then
    23.         MsgBox("User already exists!")
    24.         txtUser.Focus()
    25.         Exit Sub
    26.     End If
    27.  
    28.     ' Then we'll dump our encbytes into a file named after this user:
    29.     Try
    30.         Dim fs As New IO.FileStream(txtUser.Text + ".usr", IO.FileMode.CreateNew, IO.FileAccess.Write, IO.FileShare.None)
    31.  
    32.         fs.Write(encbytes, 0, encbytes.Length)
    33.         fs.Flush()
    34.         fs.Close()
    35.         fs.Dispose()
    36.     Catch ex As Exception
    37.         MsgBox("Could not create user.")
    38.         Exit Sub
    39.     End Try
    40.     MsgBox("A user was created!")  
    41. End Sub

    Step 2: Login screen

    So, place 2 textboxes called txtLogin and txtPass onto your form and also btnOK and btnCancel buttons.




    Here, in the btnOK_Click event handler perform the encryption:
    vb.net Code:
    1. Private Sub btnOK_Click(ByVal Sender As Object, e As System.EventArgs) Handles btnOK.Click
    2.  
    3.     ' We check whether a user exists:
    4.     If Not IO.File.Exists(txtUser.Text + ".usr") Then
    5.         MsgBox("User was not found!")
    6.         txtUser.Focus()
    7.         Exit Sub
    8.     End If
    9.    
    10.     ' We read a user profile:
    11.     Try
    12.         Dim fs As New IO.FileStream(txtUser.Text + ".usr", IO.FileMode.Open, IO.FileAccess.Read, IO.FileShare.None)
    13.         Dim bytes(CInt(fs.Length - 1)) As Byte
    14.         fs.Read(bytes, 0, fs.Length)
    15.         fs.Close()
    16.         fs.Dispose
    17.     Catch ex As Exception
    18.         MsgBox("Could not access a user file.")
    19.         Exit Sub
    20.     End Try
    21.    
    22.     ' Then we creating a key from user's password:
    23.     Dim key As Byte() = CreateKeyFromPass(txtPass.Text)
    24.    
    25.     ' Then we try to decrypt the data from the user's profile:
    26.     Dim decrypted As Byte()
    27.     Try
    28.         decrypted = Decrypt(key, bytes)
    29.     Catch ex As Exception
    30.         Msgbox("Incorrect password!")
    31.         Exit Sub
    32.     End Try
    33.  
    34.     ' We now convert the decrypted bytes back into a string:
    35.     Dim DecryptedString = System.Text.Encoding.Default.GetChars(decrypted)
    36.  
    37.     ' Remember, we were encrypting a user name (login)
    38.     ' We now check, whether we've got it back after decryption
    39.     ' and compare it with the login that a user had entered in the txtLogin
    40.     ' This check is probably excessive because if the decryption fails it will
    41.     ' throw an exception, but it's a nice finishing touch:
    42.     If DecryptedString <> txtLogin.Text Then
    43.         Msgbox("Login incorrect!")
    44.         Exit Sub
    45.     End If
    46.  
    47.     ' We've done all checks and can now permit a user to login:
    48.     Me.DialogResult = Windows.Forms.DialogResult.OK
    49.     Me.Close
    50. End Sub

    The fine thing about this approach is that you don't store user's password anywhere, but using his own password as a decryption key.

  11. #11

    Thread Starter
    Lively Member
    Join Date
    Jan 2010
    Posts
    118

    Re: Making your own encryption alphabet?

    Thanks lots, I'm really gonna use this

  12. #12

    Thread Starter
    Lively Member
    Join Date
    Jan 2010
    Posts
    118

    Re: [RESOLVED] Making your own encryption alphabet?

    Errors:

    Line:

    vb Code:
    1. decrypted = Decrypt(key, bytes)

    Error: Name 'Decrypt' is not declared; Name 'bytes' is not declared.

    For information, Im using windows XP.

  13. #13
    PowerPoster cicatrix's Avatar
    Join Date
    Dec 2009
    Location
    Moscow, Russia
    Posts
    3,654

    Re: [RESOLVED] Making your own encryption alphabet?

    1. The Decrypt function listing can be found in my Post No. 2 in this thread.

    2. My fault.

    Change this fragment of my sample code:
    Code:
    Try
            Dim fs As New IO.FileStream(txtUser.Text + ".usr", IO.FileMode.Open, IO.FileAccess.Read, IO.FileShare.None)
            Dim bytes(CInt(fs.Length - 1)) As Byte
            fs.Read(bytes, 0, fs.Length)
            fs.Close()
            fs.Dispose
    Catch ex As Exception
            MsgBox("Could not access a user file.")
            Exit Sub
    End Try

    into this:
    Code:
    Dim bytes() As Byte ' < -------------------------------------------------------here
    Try
            Dim fs As New IO.FileStream(txtUser.Text + ".usr", IO.FileMode.Open, IO.FileAccess.Read, IO.FileShare.None)
            ReDim bytes(CInt(fs.Length - 1)) ' <-------------------------------- and here
            fs.Read(bytes, 0, fs.Length)
            fs.Close()
            fs.Dispose
    Catch ex As Exception
            MsgBox("Could not access a user file.")
            Exit Sub
    End Try

  14. #14

    Thread Starter
    Lively Member
    Join Date
    Jan 2010
    Posts
    118

    Re: [RESOLVED] Making your own encryption alphabet?

    Ok, Thanks but I still got:

    Name 'Decrypt' is not declared.

  15. #15
    PowerPoster cicatrix's Avatar
    Join Date
    Dec 2009
    Location
    Moscow, Russia
    Posts
    3,654

    Re: [RESOLVED] Making your own encryption alphabet?

    Quote Originally Posted by Teunjack View Post
    Ok, Thanks but I still got:

    Name 'Decrypt' is not declared.
    Read the very first line of my previous message. Did you copy the Decrypt function from my post #2 to your code?

  16. #16

    Thread Starter
    Lively Member
    Join Date
    Jan 2010
    Posts
    118

    Re: [RESOLVED] Making your own encryption alphabet?

    Thanks, It works fine now!

  17. #17
    New Member
    Join Date
    Mar 2012
    Posts
    9

    Re: [RESOLVED] Making your own encryption alphabet?

    oh my.... *clap* *clap* *clap*

    amazing.!

  18. #18
    New Member Ydniw's Avatar
    Join Date
    Nov 2012
    Posts
    1

    Re: [RESOLVED] Making your own encryption alphabet?

    The link to Post 2 doesnt work!!, can check?

  19. #19
    Super Moderator Shaggy Hiker's Avatar
    Join Date
    Aug 2002
    Location
    Idaho
    Posts
    38,988

    Re: [RESOLVED] Making your own encryption alphabet?

    This thread is two and a half years old. It does look like some internal links are broken, but Post 2 is still there, it's just the second post in this thread. I don't know why cicatrix decided to link back to earlier in the same thread, but such a broken link shouldn't stop you for long.
    My usual boring signature: Nothing

  20. #20
    New Member
    Join Date
    Nov 2012
    Posts
    2

    Re: [RESOLVED] Making your own encryption alphabet?

    i there i am quite new to vb. I am just wondering... i tried to apply this to a the form i was making but when i try proceed by clicking ok on my log in form it say incorrect password. i have triple checked the password i have entered and i keep getting this message. can you pleeeease help me. thanks in advance

  21. #21
    New Member
    Join Date
    Nov 2012
    Posts
    2

    Re: [RESOLVED] Making your own encryption alphabet?

    Also when i try to create a new user. I always get the "your password is too weak" message. Fustratingly i dont know where im going wrong. also im using vb2010

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width