1
0
mirror of https://github.com/ssh-vault/ssh-vault.git synced 2025-07-03 03:22:34 +03:00
Files
ssh-vault/shred.go
2016-10-09 11:20:34 +02:00

33 lines
524 B
Go

package sshvault
import "os"
//Shred securely delete a file
func Shred(file string) error {
defer os.Remove(file)
f, err := os.OpenFile(file, os.O_RDWR, 0600)
if err != nil {
return err
}
fileInfo, err := f.Stat()
if err != nil {
return err
}
var size int64 = fileInfo.Size()
zeroBytes := make([]byte, size)
// fill out the new slice with 0 value
copy(zeroBytes[:], "0")
// wipe the content of the target file
_, err = f.Write([]byte(zeroBytes))
if err != nil {
return err
}
return f.Close()
}