QuickUpload - instant uploads for your files

Developed or developing a new product in PureBasic? Tell the world about it.
AND51
Addict
Addict
Posts: 1040
Joined: Sun Oct 15, 2006 8:56 pm
Location: Germany
Contact:

Post by AND51 »

He cannot use MD5 or SHA-1, because he needs to decrypt the code again in order to read the password again. MD5 and SHA-1 are hashes that can only crypt into one direction (plain text => hash), but not the other way around.
PB 4.30

Code: Select all

onErrorGoto(?Fred)
User avatar
ar-s
Enthusiast
Enthusiast
Posts: 344
Joined: Sat Oct 06, 2007 11:20 pm
Location: France

Post by ar-s »

So ?
I don't see the problem, in the .ini file, the password can be crypt and he true password is using by the application
AND51
Addict
Addict
Posts: 1040
Joined: Sun Oct 15, 2006 8:56 pm
Location: Germany
Contact:

Post by AND51 »

???

He cannot crypt the user password with MD5. The password must be sent to the server as plain and undecrypted text. He should only crypt the password when he stores it in his ini-file.
When crypting the password for the ini-file, he cannot use MD5, because MD5 cannot be de-crypted any more; this is, because MD5 is a "hash cryption".
He can only use self-made cryptions or other methods that allow de-crypting like ROT13, Base64 or DES. he needs the ability to decrypt the password again, because (as I already said) the user password must be sent to the server as clear text.

I hope, you understand, what I mean. Otherweise I might have misunderstood you...?!
PB 4.30

Code: Select all

onErrorGoto(?Fred)
User avatar
netmaestro
PureBasic Bullfrog
PureBasic Bullfrog
Posts: 8451
Joined: Wed Jul 06, 2005 5:42 am
Location: Fort Nelson, BC, Canada

Post by netmaestro »

I waited for the release of PB 4.30 to update this program as 4.30 Final brings much more stability to the FTP library.

Today's update includes:

-Code compiled in 4.30 Final

-User and Password data are stored in the .ini file with strong encryption

In the reasonably foreseeable future I'll be giving it a more professional installer, probably with Thorsten's EasySetup, which I like a lot. Also, release of sourcecode is coming.

Myself, my wife and a few friends use this constantly and we wouldn't be without it. It's so much handier than running a full FTP application just to upload a few files.
BERESHEIT
Num3
PureBasic Expert
PureBasic Expert
Posts: 2812
Joined: Fri Apr 25, 2003 4:51 pm
Location: Portugal, Lisbon
Contact:

Post by Num3 »

Works well and it's quite handy! :)

I really like the progress bar inside the grid gadget!
How did you do that nifty trick ? Subclassing ?
User avatar
netmaestro
PureBasic Bullfrog
PureBasic Bullfrog
Posts: 8451
Joined: Wed Jul 06, 2005 5:42 am
Location: Fort Nelson, BC, Canada

Post by netmaestro »

I'm glad you like it, thx for feedback. The listicon gadget isn't subclassed but it does get a number of api messages sent to it. Its style is modified to add WS_CLIPCHILDREN and the progress bars are standard PB progressbar gadgets created normally and childed to the listicon using SetParent_(). I think you can accomplish the same thing by UseGadgetList(GadgetID(#ListIcon)) and then they're automatically children of the ListIcon on creation. This program is something of an odd bird in that each selected item in Windows Explorer invokes it, but only the first instance needs to create a window and gadgets etc. So it's got a mutex and if an instance finds that another instance of the program is already running, it just sends its data to the main window using #WM_COPYDATA and ends. When the first instance gets it it adds it to the list. But it's all the same program. I'll be posting the source soon.
BERESHEIT
Num3
PureBasic Expert
PureBasic Expert
Posts: 2812
Joined: Fri Apr 25, 2003 4:51 pm
Location: Portugal, Lisbon
Contact:

Post by Num3 »

Interesting!

UseGadgetList(GadgetID(#ListIcon)) does work :D

Here's a quick example, press anywhere on the listicon:

Code: Select all

Enumeration
  #ListIcon_0
EndEnumeration


Procedure Open_Window_0()
  If OpenWindow(#Window_0, 310, 252, 516, 320, "New window ( 0 )",  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
    If CreateGadgetList(WindowID(#Window_0))
      
      ;-
      ListIconGadget(#ListIcon_0, 5, 40, 490, 250, "Column0", 100, #PB_ListIcon_GridLines | #PB_ListIcon_FullRowSelect)
      AddGadgetColumn(#ListIcon_0, 1, "Column1", 100)
      AddGadgetColumn(#ListIcon_0, 2, "Column2", 100)
      
    EndIf
  EndIf
EndProcedure

Open_Window_0()

UseGadgetList(GadgetID(#ListIcon_0))
ProgressBarGadget(10,100,100,50,10,0,100,#PB_ProgressBar_Smooth )

Repeat ; Start of the event loop
  
  Event = WaitWindowEvent() ; This line waits until an event is received from Windows
  
  WindowID = EventWindow() ; The Window where the event is generated, can be used in the gadget procedures
  
  GadgetID = EventGadget() ; Is it a gadget event?
  
  EventType = EventType() ; The event type
  
  ;You can place code here, and use the result as parameters for the procedures
  
  If Event = #PB_Event_Gadget
    
    If GadgetID = #ListIcon_0
       For a=1 To 100
        SetGadgetState(10, a)
       Next
    EndIf
    
  EndIf
  
Until Event = #PB_Event_CloseWindow ; End of the event loop

End
Post Reply