lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Using the following code I have noticed that it stops reading a file if it reaches the character 1A (decimal: 26). Then, if it is trying to write the character 0A to a file it will write it as 0D0A. I looked at the file with a hexadecimal viewer. I also noticed that after it had been written as 0D0A, if I ran the file again, it would no longer add the 0D as the 0D was already present. If anyone can tell me why this happens (whether it is a problem with my code of with Lua or whatever that would be much appreciated

lua code is as follows

print("Enter File Path:")
a=io.read()
print("Enter Key:")
k,g,c=io.read(),1,io.open(a,"r")
x,n,d=string.len(k),1,c:read("*all")
c:close()
print("Encrypting (0) or Decrypting (1)?")
c,s,f=io.read(),string.len(d),io.open(a,"w")
while g<=s do
b,e,n,g=string.byte(d,g,g),string.byte(k,n,n),n+1,g+1
if n>x then n=n-x end
if c=="0" then y=256-e else y=e end
z=y+b
if z>255 then z=z-256 end
z=string.char(z)
f:write(z)
end
f:close()