using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ShengJu_CUT100_DES.MessageEntity.Outgoing
{
///
/// 对进行高级格式化后自动创建的默认应用目录下的4个文件,按指定编号的密钥验证旧密钥后将旧密钥的更改为新密钥
///
public class ModifyPredefinedFileKey : MessageBase
{
public enum PredefinedFileKeyTypeEnum
{
根密钥 = 0x00,
文件1读密钥 = 0x01,
文件1读写密钥 = 0x02,
文件2读密钥 = 0x03,
文件2读写密钥 = 0x04,
文件3读密钥 = 0x05,
文件3读写密钥 = 0x06,
文件4读密钥 = 0x07,
文件4读写密钥 = 0x08
}
///
///
///
/// 1-4
/// 0-3
/// 16 bytes key,密钥值需要与制定文件的读写密钥相对应
public ModifyPredefinedFileKey(PredefinedFileKeyTypeEnum keyType, byte[] oldKey, byte[] newKey)
{
if (oldKey == null || newKey == null)
throw new ArgumentNullException("must provide oldKey and newKey");
if (oldKey.Length != 16 || newKey.Length != 16)
throw new ArgumentException("oldKey and newKey must has its length to 16");
base.命令代码 = CommandType.DesFireEV1操作命令_更改密钥;
base.RawDataAndCheck = new byte[] { (byte)keyType }.Concat(oldKey).Concat(newKey).ToList();
}
}
}