user/crypt.go
func ChPasswd(user string, key []byte) error {
	shadow, err := LookupShadow(user)
	if err != nil {
		return err
	}
	shadow.Passwd(key)

	return edit(user, shadow)
}
func ChPasswd(user string, key []byte) error {
	shadow, err := LookupShadow(user)
	if err != nil {
		return err
	}
	shadow.Passwd(key)

	return edit(user, shadow)
}
// == Change passwd
// ChPasswd updates passwd.
// The passwd must be supplied in clear-text.