Я предполагаю, что вы используете Rails 4. Если это так, необходимые параметры должны быть отмечены как требуется.
Возможно, вы захотите сделать это следующим образом:
class UsersController < ApplicationController
def create
@user = User.new(user_params)
# ...
end
private
def user_params
params.require(:user).permit(:username, :email, :password, :salt, :encrypted_password)
end
end
К сожалению, нет. Внутри .Net Framework 4.5 нет поддержки для защищенных паролем zip-файлов. В этом случае вам нужно перейти на одну из известных сторонних библиотек.
Ионный метод является удивительным. Я пробовал три других подхода, и это, безусловно, самое лучшее. Не тратьте время, просто используйте его.
https://dotnetzip.codeplex.com/wikipage?title=PS-Examples
Поддерживает пароль зашифрованные и другие параметры zip.
При взгляде на методы , предоставленные рамкой 4.5, не существует метода, который позволяет использовать пароли с zip-файлами. Как упоминалось в вашем вопросе, третья сторона будет вашим лучшим выбором.
Как указано, DotNetZip - ваш друг. Распаковка вашего zip-файла так же просто, как
using ( ZipFile archive = new ZipFile( @"c:\path\to\your\password\protected\archive.zip",) )
{
archive.Password = "your-pass-word-here" ;
archive.Encryption = EncryptionAlgorithm.PkzipWeak ; // the default: you might need to select the proper value here
archive.StatusMessageTextWriter = Console.Out;
archive.ExtractAll( @"c:\path\to\unzip\directory\", ExtractExistingFileAction.Throw ) ;
}
По моему опыту, DotNetZip работает примерно так же быстро, как инфо-zip с открытым исходным кодом unzip и использует примерно тот же объем памяти.
Отредактировано для заметок: DotNetZip использовался для работы в Codeplex. Codeplex отключен. Старый архив все еще доступен в Codeplex . Похоже, что код перенесен в Github:
Кажется, что нет никакой поддержки для защищенных паролем zip-файлов в собственной библиотеке .net 4.5, подобно тому, как в Windows Explorer не поддерживается поддержка даже в Windows 10! Некоторые люди сообщили, что у них есть проблемы с коррупцией в zip, используя сторонний DotNetLib, поэтому убедитесь, что вы активно тестируете, если вы идете по этому пути или пытаетесь использовать SharpZipLib .