Suche // Search:

13.03.2010

Formulare mit Base64 verschlüsseln
//
Encrypt Forms with Base64

Haben Sie schon mal ein PDF-Formular gehabt, dessen Inhalt sie verschlüsseln können?
Ich auch nicht. Warum eigentlich nicht?
Es kann doch nur praktisch sein, die Inhalte einer PDF zu verschlüsseln anstatt die PDF als solche.
Schließlich gibt es mittlerweile diverse Tools, die die Passwortschale einer PDF in Sekunden knacken.

Also warum nicht die PDF offen lassen und den Inhalt unleserlich machen?

Dieses Beispiel-Formular verwendet ein Script zum Verschlüsseln der Daten als Base64-String.
Das Ganze wird durch eine Passwortabfrage gesichert, die Hashwerte aus den Eingaben erstellt und vergleicht.

Have you ever seen a PDF form where you could encrypt the contents?
I didn't, but why?
It will be so handy to encrypt the content instead of the whole file.
Because there are so many cracking tools around, that will break the password shell within seconds.

So why don't leave file open and make the contents unreadable?

The example form uses a script to encrypt the data as base64 string, protected by a password query that uses hashes and compares them.

Klartext
//
Cleartext:

Base64-verschlüsselter Text
//
Base64-encrypted Text:



Beispielformular
//
Sample form:
https://files.acrobat.com/a/preview/84c26bcc-68f0-43a3-b1e6-4f07c7dd5d6e

17.02.2010

XFA-Formular als geschützten Anhang mailen
//
Mail XFA-Forms as protected (uneditable) attachment

Das Versenden eines XFA-Formulars per E-Mail-Anhang direkt aus der Formular heraus ist sehr praktisch.
Blöd nur, dass der Empfänger immer ein Formular erhält, indem er genauso viel machen kann wie man selbst.
Manchmal will man aber, dass er Empfänger das Formular nur noch ansehen, aber nicht verändern kann.
Um das Formular einzuebnen (Flattening) kann man das Formular nun entweder durch einen PDF-Drucker schicken, wodurch es alle Interaktivität verliert oder auf die sauteuren LiveCycle ES/ES2 Produkte zurückgreifen.
Beides ist meist keine Option, da zu umständlich oder eben teuer.

Mit ein wenig JavaScript können aber einen Workaround bauen, der zwar keine echte Einebnung des Formulars vornimmt, aber im Groben auf das Selbe hinausführt.

Dieses Beispiel verwendet einen Mail-Button, der vor dem Änhängen des Formulars an die E-Mail alle Schaltflächen versteckt und Formularfelder auf schreibgeschützt stellt.
Der Empfänger erhält somit ein augescheinlich eingeebnetes Formular, dass er nur noch lesen kann.

Sending a form via mail directly through a button within the form is very comfortable.
Not so good is that the receiver always get the same functionality of the form as the sender.
What can you do, to send a read-only form to the receivers?
Generally you have two options.
One is to print the form with a pdf-printer to flatten it completely and lose all functionality.
The other is an expensive LiveCycle ES/ES2 product, that does the same.
Both are not the first choice.

But, JavaScript offers you the possibility to programm a workaround.
Well, you will not be able to real flatten the forms, but it will serve the same purpose.

This example form has a mail button which mails, but also hides all buttons and protect all form fields against changes just before the form is attached to the mail.
The receiver so will get an uneditable form.

Beispiel // Example:
https://acrobat.com/#d=stxzLv*Gou6uhB0DfgoQdg