//楼上的是VB代码?太夸张了!呵呵! import java.util.*; public class Test { public static void main(String args[]) { String str; char[] ch; Scanner reader = new Scanner(System.in); str = reader.nextLine(); ch = str.toCharArray(); for(int i = 0; i
VERSION 4.00 Begin VB.Form Form1 Caption="Sample" ClientHeight=705 ClientLeft=3915 ClientTop=3315 ClientWidth=1800 ControlBox=0'False Height =1110 Left=3855 LinkTopic="Form1" MaxButton = 0 'False MinButton = 0 'False ScaleHeight = 705 ScaleWidth = 1800 Top = 2970 Width = 1920 Begin VB.CommandButton Command1 Caption = "Command1" Height = 495 Left=240 TabIndex=0 Top = 120 Width = 1215 End End Attribute VB_Name = "Form1" Attribute VB_Creatable = False Attribute VB_Exposed = False Sub FileEncodeAndDecode(InputFile As String, OutputFile As String, PasswordKey As String) Dim temp As Single Dim Char As String * 1 Dim XORMask As Single Dim temp1 As Integer Open InputFile For Binary As #1 Open OutputFile For Binary As #2 For x = 1 To Len(PasswordKey) temp = Asc(Mid$(PasswordKey, x, 1)) For y = 1 To temp temp1 = Rnd Next y ' Re-seed to throw off prying eyes Randomize temp1 Next x Counter = 0 For z = 1 To FileLen(InputFile) 'Generate random mask XORMask = Int(Rnd * 256) 'Get the char & change it Get 1, , Char Char = Chr$((Asc(Char) Xor XORMask)) Put 2, , Char Counter = Counter + 1 If Counter > Len(PasswordKey) Then Counter = 1 ' Pull random numbers from the hat For x = 1 To (Asc(Mid$(PasswordKey, Counter, 1)) * 2) temp = Rnd Next x Next z Close #1 Close #2 End Sub Private Sub Command1_Click() Dim InputFile As String Dim OutputFile As String Dim PasswordKey As String InputFile = InputBox("Enter a filename to encode") OutputFile = InputBox("Enter the new filename this will become ") PasswordKey = InputBox("Enter the password (key)") Call FileEncodeAndDecode(InputFile, OutputFile, PasswordKey) MsgBox "File written to " + OutputFile End End Sub Private Sub Form_Load() Command1.Caption = "Code/Decode"