Я обнаружил, что в Excel 2010 (и 2007), когда вы пытаетесь выбрать один из более безопасных типов шифрования, кажется, что он молча игнорирует ваши настройки, оставляя вам файл, который может быть взломан за считанные секунды при decryptum , например.
Это не относится к новым форматам файлов, которые по умолчанию шифруются AES, только при сохранении до формата 97-2003.
Этоэто макрос, который я создаю в книге:
Sub enc()
Me.SetPasswordEncryptionOptions _
PasswordEncryptionProvider:= "Microsoft Strong Cryptographic Provider", _
PasswordEncryptionAlgorithm:= "RC4", _
PasswordEncryptionKeyLength:=128, _
PasswordEncryptionFileProperties:=True
Me.SaveAs _
Filename:="encryption_test.xls", _
FileFormat:=xlExcel8, _
Password:="password"
End Sub
Очень легко заставить Excel 2003 (правильно) выводить данные параметры шифрования, пропустив параметр FileFormat:
Sub enc()
Me.SetPasswordEncryptionOptions _
PasswordEncryptionProvider:= "Microsoft Strong Cryptographic Provider", _
PasswordEncryptionAlgorithm:= "RC4", _
PasswordEncryptionKeyLength:=128, _
PasswordEncryptionFileProperties:=True
Me.SaveAs _
Filename:="encryption_test.xls", _
Password:="password"
End Sub
Затем decryptum не может расшифровать, как я ожидал.
Я делаю что-то не так или это ошибка?Если это ошибка, как мне ее обойти?
Ниже я добавил своего рода решение для Excel 2010, но я надеюсь на что-то более простое, и желательно на то, что будет работать и на 2007 год..