dod刷服務器文件,DoD 5220.22-M和Gutmann兩種硬盤擦除算法

DoD 5220.22-M的說明

Use this seven-pass method for tighter security. Different patterns of

bytes are written to the disk as described in the table below. Using

this method is probably even safer than using the simple method (with 6

passes).

This method is described in the National Industrial Security Program

Operating Manual (NISPOM a.k.a. DoD 5220.22-M) of the US Department of

Defense (January 1995; chapter 8, section 3, 8-306. Maintenance).

The free disk space is overwritten seven times:

Pass Data

1 A random character, n = [0, 255]

2 A random character, n

3 Complement of previous character, ~n

4 A random character, n

5 A random character, n

6 Complement of previous character, ~n

7 A random character, n

However, if you want to be absolutely sure of your data security, use the Gutmann method, below

——————————————————–

Gutmann method的說明

Top Previous Next

This method offers the most tight security for the whole range of disk

drive types. You should use this method if your data is very valuable

and you think your disk could possibly be scrutinized by expensive,

specialized equipment.

The method used by Clean Disk Security is based on that described in

the paper Secure Deletion of Data from Magnetic and Solid-State Memory,

by Peter Gutmann (Department of Computer Science University of Auckland.

pgut001@cs.auckland.ac.nz), and is included in Clean Disk Security with his permission.

The paper was first published in the Sixth USENIX Security Symposium Proceedings, San Jose, California, July 22-25, 1996.

The first four and last four passes are pseudo-random data (created

with additive congruential pseudo-random number generator) and other

passes are made in random order.

Overwrite Data

PassNo. Data Written Encoding Scheme Targeted

1 Random

2 Random

3 Random

4 Random

5 01010101 01010101 01010101 0×55 (1,7) RLL MFM

6 10101010 10101010 10101010 0xAA (1,7) RLL MFM

7 10010010 01001001 00100100 0×92 0×49 0×24 (2,7) RLL MFM

8 01001001 00100100 10010010 0×49 0×24 0×92 (2,7) RLL MFM

9 00100100 10010010 01001001 0×24 0×92 0×49 (2,7) RLL MFM

10 00000000 00000000 00000000 0×00 (1,7) RLL (2,7) RLL

11 00010001 00010001 00010001 0×11 (1,7) RLL

12 00100010 00100010 00100010 0×22 (1,7) RLL

13 00110011 00110011 00110011 0×33 (1,7) RLL (2,7) RLL

14 01000100 01000100 01000100 0×44 (1,7) RLL

15 01010101 01010101 01010101 0×55 (1,7) RLL MFM

16 01100110 01100110 01100110 0×66 (1,7) RLL (2,7) RLL

17 01110111 01110111 01110111 0×77 (1,7) RLL

18 10001000 10001000 10001000 0×88 (1,7) RLL

19 10011001 10011001 10011001 0×99 (1,7) RLL (2,7) RLL

20 10101010 10101010 10101010 0xAA (1,7) RLL MFM

21 10111011 10111011 10111011 0xBB (1,7) RLL

22 11001100 11001100 11001100 0xCC (1,7) RLL (2,7) RLL

23 11011101 11011101 11011101 0xDD (1,7) RLL

24 11101110 11101110 11101110 0xEE (1,7) RLL

25 11111111 11111111 11111111 0xFF (1,7) RLL (2,7) RLL

26 10010010 01001001 00100100 0×92 0×49 0×24 (2,7) RLL MFM

27 01001001 00100100 10010010 0×49 0×24 0×92 (2,7) RLL MFM

28 00100100 10010010 01001001 0×24 0×92 0×49 (2,7) RLL MFM

29 01101101 10110110 11011011 0x6D 0xB6 0xDB (2,7) RLL

30 10110110 11011011 01101101 0xB6 0xDB 0x6D (2,7) RLL

31 11011011 01101101 10110110 0xDB 0x6D 0xB6 (2,7) RLL

32 Random

33 Random

34 Random

35 Random

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/382908.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/382908.shtml
英文地址,請注明出處:http://en.pswp.cn/news/382908.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

服務器加根網線用不用修改路由器,安裝設置無線路由器需要用幾根網線?

“安裝設置無線路由器需要用幾根網線?看到網上安裝設置路由器的教程,有的說需要兩根網線,有的說需要一根網線,請問到底應該使用一根還是兩根呢?”其實這個問題的答案并不是唯一的,使用一根還是兩根&#xf…

大數運算#

大數,就是C/C中利用基本類型所不能存儲的數字,少則數十位,大則幾萬位,如何存儲和計算大數就是本文的內容。 在C和C中,沒有存儲大數的數據結構,就算 unsigned long long也只能表示19位的數字 ?如果我們用d…

乘法口訣表的C語言編程

#include "stdio.h"int main() {int i,j,q0;for(i 1;i < 10; i){for(j 1;j < 10;j){q i*j;printf("%d*%d%d\n",i,j,q);}}} 按照課本上的排列做出的優化 #include "stdio.h"int main() {int i,j;for(i 1;i < 10; i){for(j 1;j <…

打印100-200之間的素數

素數 是指除了1和它本身以外,不能被任何整數整除的數 例如17就是素數,因為它不能被2~16的任一整數整除。 #include "stdio.h"int main() {int i,j;for(i 100; i < 200; i){for(j 2;j < i-1;j){if(i%j 0)break;}if(j i)printf("%d\n",i);}} C語言…

判斷1000-2000之間的閏年(優化寫法)

閏年普通年&#xff08;不能被100整除的年份&#xff09;能被4整除的為閏年。&#xff08;如2004年就是閏年,1999年不是閏年&#xff09;&#xff1b;世紀年&#xff08;能被100整除的年份&#xff09;能被400整除的是閏年。(如2000年是閏年&#xff0c;1900年不是閏年)&#x…

四種方法實現數組交換

方法一&#xff1a; //該方法主要用邏輯運算將數組對應的每個元素進行交換&#xff0c;然后用for循環將整個數組元素進行交換#include<stdio.h>int main(){ int i,j,k;int A[10];int B[10];int C[10];printf("請輸入A數組的內容&#xff1a;\n");for(i0;i<1…

結構體變量初始化

// // main.c // C語言學習 #include <stdio.h> int main(int argc, const charchar * argv[]) { //定義結構體類型 struct Person { charchar *name; int age; double heigth; }; //初始化的4種方式 //1.定義的同時初始化 struct Person p1 {"z…

C語言的細小知識點整理

1、register修飾符暗示編譯程序相應的變量將被頻繁地使用&#xff0c;如果可能的話&#xff0c;應將其保存在CPU的寄存器中&#xff0c;以加快其存儲速度 2、static是某個特定函數的局部變量&#xff0c;即只能在定義該變量的函數內使用該變量 static int a 40; char …

二維數組初始化規則

二維數組初始化的形式為&#xff1a;數據類型 數組名[整常量表達式][ 整常量表達式]{ 初始化數據 }&#xff1b;在{ }中給出各數組元素的初值&#xff0c;各初值之間用逗號分開。把{ }中的初值依次賦給各數組元素。有如下幾種初始化方式&#xff1a;⑴ 分行進行初始化int a[2][…

linux之緩沖區

行緩沖。在這種情況下&#xff0c;當在輸入和輸出中遇到換行符時&#xff0c;標準I/O庫執行I/O操作。這允許我們一次輸出一個字符&#xff0c;但只有在寫了一行之后才進行實際I/O操作。當流涉及一個終端時&#xff0c;通常使用行緩沖。 第一個例子&#xff1a;&#xff08;he…

輸出一個整數的每一位(3種方法)

1.使用數組按個數輸入再按照個數輸出 int i, j, k, num, count;int a[10];printf("幾位數\n");scanf("%d", &k);for (i 1; i < k; i){scanf("%d", &a[i]);}for (i k; i > 1; i--){printf("%d\n", a[i]);} 2.使用遞歸…

linux之地址空間

程序&#xff1a;一組指令的有效集合。它是靜態的&#xff0c;不具有任何的運行意義。程序最終轉換為二進制文件。 進程&#xff1a;程序的執行就是進程。可以把它看成獨立的程序&#xff0c;在內存中有其對應的代碼空間和數據空間。一個進程所擁有的數據和代碼只屬于自己。進…

C語言操作符 進階 (常見錯誤及細節)

1.算術操作符- * / % % 只適用于整數類型運算&#xff0c;其余運算符也可用于浮點運算。2.移位操作符 左移&#xff1a;左邊丟棄&#xff0c;右邊補0&#xff1b; 右移&#xff1a;不同編譯器采取的移位方式不同&#xff0c;所有有了“右移”的程序不可移植1.邏輯移位&#xff…

輸出該數二進制表示中1的個數。求取十進制數字元素1的個數 (3種方法)

/* ***求取十進制數字元素1的個數 */int fun(int x) {int count 0;int i, j, k;/***方法2 負數不可計算&#xff0c;需要改進*/while (x ! 0){if (x & 1 1){count;}x x >> 1;}/****方法1*/while (x ! 0){x x&(x - 1);count;}return count; }int main() {in…

C語言隨機數生成超詳解

1.首先來看一段簡單的代碼 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <time.h>int main(void) {int i;printf(" %6d\n", rand());system("pause"); }printf(" %6d\n", rand());sys…

可變參數列表

一個函數在不同的時候接受不同數目的參數。 stdarg宏可變參數列表是通過宏來實現的&#xff0c;這些宏定義于stdarg.h頭文件中。這個頭文件聲明了一個類型va_list和三個宏---va_start,va_arg,va_end。va_list用于聲明變量的類型。va_start準備訪問可變參數。va_arg用于訪問參數…

完成猜數字游戲 //C語言 猜數字游戲(編寫過程詳解)

int i, j, k;int num 0;/*生成隨機數字*/num rand();printf("%d\n", num); 選擇玩游戲還是退出 void play(int x) {printf("%d\n", x);printf("開始游戲"); } scanf("%d", &k);switch (k){case 1:play(num);case 2:break;} 循環…

靜態順序表

順序表是在計算機內存中以數組的形式保存的線性表&#xff0c;是指用一組地址連續的存儲單元依次存儲數據元素的線性結構。線性表采用順序存儲的方式存儲就稱之為順序表。順序表是將表中的結點依次存放在計算機內存中一組地址連續的存儲單元中。 順序表分為靜態存儲的順序表和動…

C語言 淺談可變參數

1.可變參數產生原因 首先來看一個簡單的例子。 int Add(int x, int y) {return x y; } int main() {int sum 0;sum Add(1, 2);//sum Add(1, 2, 3);//sum Add(1);system("pause");return 0; } 我們可以看到&#xff0c;對于這個代碼只可以計算兩個數的加法。 …

有兩個鏈表a,b,設結點包括學號,姓名。從a鏈表中刪去與b鏈表中有相同學號的那些結點。

#include <stdio.h> #include <string.h> #include <stdlib.h> typedef struct linknode { int num;char name[20];struct linknode *next; }node; node *creat() { node *h NULL,*s,*t;int d;int i 1; char name1[20];while(1) { printf("輸入第…