Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
QBasic Challenge :-)
#1
Ladies and Gentlemen, Boys and Girls, the ultimate challenge has arisen! You are going to create a progam that will take a document (.txt or other) and specialy encrypt it. Also needed is a decrypter that will decrypt the document as well! You will be the king of internet privicy :king:

E-mail or PM me by, umm lets see :roll: February 14 2004

:bounce: GOODLUCK :bounce:
If you can't dazzle them with brilliance, baffle them with bull shit"
Reply
#2
QB encryption program 1.03
Simple text encryption by Paul Malcher
Encryption program by Chris Pulley
Encrypt by Adam Perry & Matt Ochs
Crypt by Strategy Surplus
Crypter by Lucas Alonso
File Crypt by Eric McCormick
Hey-Cody by The WebKid
Xor encryption/decryption by Jonathan Leger
Xor encryption by Scott Turchin

Is there something in particular you are looking for that is different from the above programs? Maybe a few more details could help us out in developing something you want to see. Wink
igitalblackie.com - Done! Smile Ask about our hosting Wink

-Goddess of the of the No More Religion Threads movement Smile
Reply
#3
yes, are there any specific rules you have to follow?
[Image: sig.php]
Back by popular demand!
I will byte and nibble you bit by bit until nothing remains but crumbs.
Reply
#4
Dum de dum...Ok, here's mine:
Code:
DIM inbyte AS STRING*1
DIM outbyte AS STRING*1
INPUT "Code to use:";code
OPEN "infile.txt" FOR BINARY AS #1
OPEN "outfile.txt" FOR BINARY AS #2
DO UNTIL EOF(1)
GET #1,inbyte
outbyte=CHR$(ASC(inbyte) XOR code)
PUT #2,outbyte
NEXT
CLOSE #1,#2
There you go. Very simple, very WEAK XOR encryption. I've built a few pretty strong encryption algos, but I don't have the time to go modifying them to QB now.
And to decrypt:
Code:
DIM inbyte AS STRING*1
DIM outbyte AS STRING*1
INPUT "Code to use:";code
OPEN "outfile.txt" FOR BINARY AS #1
OPEN "outfile2.txt" FOR BINARY AS #2
DO UNTIL EOF(1)
GET #1,inbyte
outbyte=CHR$(ASC(inbyte) XOR code)
PUT #2,outbyte
NEXT
CLOSE #1,#2
Cheers.
[EDIT]Note that you use the same code(1-255) you entered to encrypt the file, to decrypt it.
f only life let you press CTRL-Z.
--------------------------------------
Freebasic is like QB, except it doesn't suck.
Reply
#5
There are no specific guidlines, just a program that can encrypt and decrypt. And ummm....technically, the first person is Zack, but lets see who can make one that wasn't previously made.
If you can't dazzle them with brilliance, baffle them with bull shit"
Reply
#6
Fine, fine...I'll make a stronger encryption algo.
I'll work on it later. So disregard my previous submission. I'll post the new one later.
f only life let you press CTRL-Z.
--------------------------------------
Freebasic is like QB, except it doesn't suck.
Reply
#7
OK, here it is:
Quote:CLS
DIM inbyte AS STRING * 1
DIM outbyte AS STRING * 1
INPUT "File to encrypt: ", infile$
INPUT "File to send encrypted chars to: ", outfile$
INPUT "Code to use: ", code
OPEN infile$ FOR BINARY AS #1
OPEN outfile$ FOR BINARY AS #2
DO UNTIL EOF(1)
GET #1, , inbyte
outbyte = CHR$((ASC(inbyte) XOR code) XOR (code - 3))
PUT #2, , outbyte
LOOP
And the code you use to encrypt is the same you use to decrypt (use the very same program to decrypt it).
[EDIT] Oh yeah, the code you enter needs to be between 4 and 255.
f only life let you press CTRL-Z.
--------------------------------------
Freebasic is like QB, except it doesn't suck.
Reply
#8
is that the same thing but subtracting 3 from the inputted code

edit: nvm
edit: my version?
edit2:updated
edit3:mwahaha updated again >_>
Code:
CLS
DIM inbyte AS STRING * 1
DIM outbyte AS STRING * 1
INPUT "File to encrypt: ", infile$
INPUT "File to send encrypted chars to: ", outfile$
INPUT "Code to use: ", code
OPEN "c:\progra~1\qbasic4.5\qbfiles\encrypt\" + infile$ FOR BINARY AS #1
OPEN "c:\progra~1\qbasic4.5\qbfiles\encrypt\" + outfile$ FOR BINARY AS #2
DO UNTIL EOF(1)
SELECT CASE code
CASE IS >= 255: code = 4
CASE IS < 4: code = 4
CASE ELSE: code = code + 1
END SELECT
GET #1, , inbyte
outbyte = CHR$((ASC(inbyte) XOR code))
FOR i = 1 TO 3
outbyte = CHR$((ASC(outbyte) XOR (code - i)))
NEXT
PUT #2, , outbyte
LOOP
CLOSE
[Image: sig.php]
Back by popular demand!
I will byte and nibble you bit by bit until nothing remains but crumbs.
Reply
#9
Hmmmn. I could have post my Bac superior text compression program... but since that is secret... Wink

However, here's a bit swapper:
Code:
'$DYNAMIC
DEFINT A-Z

COLOR 15
PRINT "Bit Swapper"
PRINT "By Neo Deus Ex Machina" + CHR$(13) + "-----------------------"
COLOR 7

INPUT "Input file to (de)compress:", InFile$
INPUT "Input file to write to:", OutFile$
InFile$ = LTRIM$(RTRIM$(UCASE$(InFile$)))
OutFile$ = LTRIM$(RTRIM$(UCASE$(OutFile$)))

Encrypted = 0

InF = FREEFILE
OPEN InFile$ FOR BINARY AS #InF
   OutF = FREEFILE
   OPEN OutFile$ FOR BINARY AS #OutF

      Header$ = SPACE$(7)
      GET #InF, , Header$
      IF Header$ = STRING$(3, 26) + "NDEM" THEN Encrypted = NOT(0)
      SEEK #InF, 1

      IF Encrypted THEN
         SEEK #InF, 8
      ELSE
         Header$ = STRING$(3, 26) + "NDEM"
         PUT #OutF, 1, Header$
      END IF

      DIM Byte AS STRING * 1, NewByte AS STRING * 1
      flen& = LOF(InF)
      IF Encrypted THEN flen& = flen& - 7
      got& = 0

      CLS 'clear screen for progress bar
      PRINT "Busy..."

      IF NOT Encrypted THEN
         DO UNTIL got& >= flen&
            GET #InF, , Byte
            IF got& = 0 THEN
               FrontNib% = (ASC(Byte) AND &HF0) \ &H10
               BackNib% = (ASC(Byte) AND &HF)
            ELSE
               FrN% = (ASC(Byte) AND &HF0) \ &H10
               BkN% = (ASC(Byte) AND &HF)
               NewByte = CHR$((BackNib% * &H10) OR FrN%)
               PUT #OutF, , NewByte
               BackNib% = BkN%
            END IF

            got& = got& + 1
            LOCATE 2, 1
            perc% = INT(got& / flen& * 80)
            PRINT STRING$(perc%, 219) + STRING$(80 - perc%, 176)
         LOOP
         IF got& > 0 THEN
            NewByte = CHR$((BackNib% * &H10) OR FrontNib%)
            PUT #OutF, , NewByte
         END IF

      ELSEIF Encrypted THEN

         DO UNTIL got& >= flen&
            IF got& = 0 THEN
               SEEK #InF, 7 + flen&
  
               GET #InF, , Byte
               BackNib% = (ASC(Byte) AND &HF)
               SEEK #InF, 8
            ELSE
               GET #InF, , Byte

               FrN% = (ASC(Byte) AND &HF0) \ &H10
               BkN% = (ASC(Byte) AND &HF)
               NewByte = CHR$((BackNib% * &H10) OR FrN%)
               PUT #OutF, , NewByte
               BackNib% = BkN%

               got& = got& + 1

               LOCATE 2, 1
               perc% = INT(got& / flen& * 80)
               PRINT STRING$(perc%, 219) + STRING$(80 - perc%, 176)

            END IF

         LOOP

      END IF

   CLOSE #OutF
CLOSE #InF

This code was completely written down from the top of my head. I didn't test it using QB. Perhaps there are some bugs, but this is due to not having tested it. Hope it works Big Grin

EDIT: Someone able to test this? Thanks.
Reply
#10
Whitetiger: No, no: First I XOR the character-code with the code user enters. Then I re-encrypt it by XORing it with the code user enters, minus 3.
Hence double-encryption.
(BTW I've made a very strong encryption algo...I call it 2D encryption, because there are two encrypted characters for every character that you encrypt. I've yet to find a way to decrypt it, though.)
Neo: Goodness! I didn't test that, but it looks very strong.
f only life let you press CTRL-Z.
--------------------------------------
Freebasic is like QB, except it doesn't suck.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)