请编写一个程序，自动生成一个密码并将其加密。
请提供以下信息以生成密码：
- 密码长度
- 包括哪些字符（例如，大写字母、小写字母、数字、特殊字符等）
以下是生成密码并将其加密的 Python 代码示例，它可以根据密码长度和要包含的字符类型生成密码，并使用 hashlib 库将其加密：

```python
import random
import string
import hashlib

# 获取密码长度和要包含的字符类型
length = int(input("请输入密码长度： "))
lowercase = input("是否包含小写字母？(Y/N)").lower() == 'y'
uppercase = input("是否包含大写字母？(Y/N)").lower() == 'y'
digits = input("是否包含数字？(Y/N)").lower() == 'y'
special_chars = input("是否包含特殊字符？(Y/N)").lower() == 'y'

# 生成密码字符列表
chars = []
if lowercase:
    chars += string.ascii_lowercase
if uppercase:
    chars += string.ascii_uppercase
if digits:
    chars += string.digits
if special_chars:
    chars += string.punctuation

# 生成密码
password = ''.join(random.choice(chars) for _ in range(length))

# 将密码加密
hash_object = hashlib.sha256(password.encode())
encrypted_password = hash_object.hexdigest()

# 打印密码和加密后的密码
print(f"生成密码为: {password}")
print(f"加密后的密码为: {encrypted_password}")
```

这个程序将根据用户的输入生成具有指定字符类型和长度的密码，并且通过 SHA256 算法进行了加密。注意密码应该是随机生成的，并且不应太容易猜测，才能确保安全性。