Depending on which part of the DoD regs you're trying to comply with, there
are differing requirements. Check with you local SSO to find which
specific reg you must comply with. That will determine the hex value you
must use and the number of passes you must make.

If you look in the format command under the test disk option, you can in
fact specify the HEX pattern and numbers of passes. This function was
previously authorized by various DoD regulatory agencies, as it had been
confirmed to actually over write every single bit place on a disk including
back blocks.

I've never tested the other functions I saw posted here (cp /dev/null, and
fdisk -p) therefore I can't confirm or deny that they ignore the bad block
list in the drive controller and over write every single bit.

I will add though, sanitizing a disk in no way changes it's classification.
Disk's may not be declassified or downgraded in these manners. There are
other highly specific rules involved to change classifications.