alright i have this problem out of my book that i bought used and goin through doin some self excersiesfor practice now this one has me stumped to ends the only thing i have so far is my dim as integer thats it but the problem reads like this:
Your application should read a four-digit integer entered by the user and encrypt it as follows: Replace each digit with the result of adding 7 to the digit and getting the remainder after dividing the new value by 10. Then swap the first digit with the third, and swap the second digit with the fourth. Then display the encrypted integer. Write a separate application that inputs an encrypted four-digit integer and decrypts it (by reversing the encryption scheme) to form the original number.

now can someone get me on the right path iam curious bout knowning how to encrypt numbers like this and have it read back but just stumps me ?? any ideas besides a dim statement where to begin ??

Let's try to make it clear with an example. Take the number 9184 or 9 1 8 4.

Add 7 to each digit giving 16 8 15 11

Take the remainder after dividing by 10 giving 6 8 5 1

Swap digits 1 & 3 giving 5 8 6 1

Swap digits 2 & 4 giving 5 1 6 8 or a resulting number of 5168.

Now let's reverse the process.

Swap digits 2 & 4 giving 5 8 6 1

Swap digits 1 & 3 giving 6 8 5 1

Add 10 to each digit giving 16 18 15 11

Now subtract 7 from each number giving 9 11 8 4

Oops. We have a two digit number in there. Because we "threw away" some information when we divided by 10 at the start we may end up with some "extra" numbers, in other words, a two digit result where we expect to have only one digit. We compensate for this by doing another remainder operation giving 9 1 8 4 or the original number. Does that help?

yes that did help out plus other sources here is my code and it works i have one more ? :

``````Public Class frmEncryption

02     Private Sub txtenter_KeyPress(ByVal send As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) _

03           Handles txtenter.KeyPress

04

05         'text box accepts only numbers, allows backspace to edit

06

07         If (e.KeyChar < "0" OrElse e.KeyChar > "9") _

08             AndAlso e.KeyChar <> ControlChars.Back Then

09             e.Handled = True

10         End If

11

12     End Sub

13

14

15     Private Sub btnEncrypt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEncrypt.Click

16

17

18         txtenter.Text = Encrypt(txtenter.Text)

19

20         If Val(txtenter.Text) < 0 Or

21         (IsNumeric(txtenter.Text) = False) Then

22             MessageBox.Show("Invalid Entry", "Input Error")

23             Exit Sub

24         End If

25

26

27         lblresult.Text = Encrypt(txtenter.Text).ToString

28     End Sub

29     Private Function Encrypt(ByVal strInput As String) As String

30         Dim i As Integer

31         Dim strDigit As String

32         Dim intDigit As Integer

33         Dim intDigits(3) As Integer

34

35         For i = 1 To 4

36             strDigit = Mid(strInput, i, 1)

37             intDigit = CInt(strDigit) + 7

38             intDigits(i - 1) = intDigit Mod 10

39         Next i

40

41         Encrypt = CStr(intDigits(2)) & CStr(intDigits(3)) & CStr(intDigits(0)) & CStr(intDigits(1))

42     End Function

43

44

45 End Class``````

my ? is how do i make this word "Encrypted number is:" in the result lbl with the acutal # ?? idk tried couple things so just need that and ill be happy lark :P

You mean like

``lblMyLabel.Text = "Encrypted number is " & Encrypt``

thnak you that helped =] tho i have new issue in when u debug it and run the program 1. thing is i can eanter more than 4 digits how do i limit it to enter just 4?
and 2 when i hit the encryptbutton both the input box and output change the input should not change with the output how do u fix this ?? plz ASAP !!

You could use a textbox for the data entry and use the key filtering to limit entry to only digits, backspace and delete. You can set the Maxlength property of the textbox to 4. Further, you could disable the Encrypt button until the fourth digit had been entered. That would prevent trying to encrypt with the wrong number of digits.

can u give me an example for both ??

set the form KeyPreview property to True and txtDigits.Maxlength = 4

``````Public Class Form1

Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown

If txtDigits.Focused Then        'ensures filtering only on this textbox

Select Case e.KeyCode
Case 48 To 57, 8, 46, 37, 39
'digits 0-9, bs, del, left, right
Case Else
e.SuppressKeyPress = True
End Select

End If

End Sub

Private Sub txtDigits_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDigits.TextChanged
btnEncrypt.Enabled = txtDigits.Text.Length = 4
End Sub

End Class``````

I'm going to keep you honest now.

alright i have this problem out of my book that i bought used and goin through doin some self excersiesfor practice

and

how do u fix this ?? plz ASAP !!

seem to be at odds. You claim to be doing some self educating but the ASAP comment implies some sort of deadline which to me says "homework assignment that is due right freaking now". If you need help with homework I am happy to provide explanations or pointers, even sample code to illustrate a technique such as the key filtering, but please be honest enough to admit this up front.

If I am misreading the situation then I apologize.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.