Remember to identify and remove block padding. While it's too easy to just trim the printable chars that's just wrong. Doing it right means:
- check the last byte in the block
- if the value is less than the block size
- then check that number of bytes in from the end.
- does not hold when encrypting variable length binary data.