pub struct XanaduCrypt {
base: BaseSchema,
inner: ChainReactionCryptBase,
}Available on crate features
kirikiri and kirikiri-arc only.Fields§
§base: BaseSchema§inner: ChainReactionCryptBaseImplementations§
Source§impl XanaduCrypt
impl XanaduCrypt
pub fn new(base: BaseSchema) -> Self
Trait Implementations§
Source§impl AsRef<BaseSchema> for XanaduCrypt
impl AsRef<BaseSchema> for XanaduCrypt
Source§fn as_ref(&self) -> &BaseSchema
fn as_ref(&self) -> &BaseSchema
Converts this type into a shared reference of the (usually inferred) input type.
Source§impl Crypt for XanaduCrypt
impl Crypt for XanaduCrypt
Source§fn hash_after_crypt(&self) -> bool
fn hash_after_crypt(&self) -> bool
whether Adler32 checksum should be calculated after contents have been encrypted.
Source§fn startup_tjs_not_encrypted(&self) -> bool
fn startup_tjs_not_encrypted(&self) -> bool
whether the startup.tjs script is not encrypted even when the archive is encrypted.
Source§fn obfuscated_index(&self) -> bool
fn obfuscated_index(&self) -> bool
whether XP3 index is obfuscated: Read more
Source§fn init(&self, archive: &mut Xp3Archive<'_>) -> Result<()>
fn init(&self, archive: &mut Xp3Archive<'_>) -> Result<()>
Initializes the cryptographic context for the archive.
Source§fn decrypt_supported(&self) -> bool
fn decrypt_supported(&self) -> bool
Returns true if this crypt support decrypt
Source§fn decrypt_seek_supported(&self) -> bool
fn decrypt_seek_supported(&self) -> bool
Returns true if this crypt support seek when decrypting
Source§fn decrypt<'a>(
&self,
entry: &Xp3Entry,
cur_seg: &Segment,
stream: Box<dyn Read + Send + Sync + 'a>,
) -> Result<Box<dyn ReadDebug + Send + Sync + 'a>>
fn decrypt<'a>( &self, entry: &Xp3Entry, cur_seg: &Segment, stream: Box<dyn Read + Send + Sync + 'a>, ) -> Result<Box<dyn ReadDebug + Send + Sync + 'a>>
Decrypts the given stream of data for the specified entry and segment.
Source§fn decrypt_with_seek<'a>(
&self,
entry: &Xp3Entry,
cur_seg: &Segment,
stream: Box<dyn ReadSeek + Send + Sync + 'a>,
) -> Result<Box<dyn ReadSeek + Send + Sync + 'a>>
fn decrypt_with_seek<'a>( &self, entry: &Xp3Entry, cur_seg: &Segment, stream: Box<dyn ReadSeek + Send + Sync + 'a>, ) -> Result<Box<dyn ReadSeek + Send + Sync + 'a>>
Decrypts the given stream of data for the specified entry and segment, with seek support.
Source§fn read_name<'a>(
&self,
reader: &mut Box<dyn Read + 'a>,
) -> Result<(String, u64)>
fn read_name<'a>( &self, reader: &mut Box<dyn Read + 'a>, ) -> Result<(String, u64)>
Read a entry name from archive index
Source§fn need_filter(&self, _filename: &str, _buf: &[u8], _buf_len: usize) -> bool
fn need_filter(&self, _filename: &str, _buf: &[u8], _buf_len: usize) -> bool
Determine whether the file with the given name and content need to be extra processed after decryption. (e.g. extra decryption by file type)
Source§fn filter_seek_supported(&self) -> bool
fn filter_seek_supported(&self) -> bool
Returns true if this crypt support seek when filtering
Source§impl Debug for XanaduCrypt
impl Debug for XanaduCrypt
Source§impl IChainReactionCrypt for XanaduCrypt
impl IChainReactionCrypt for XanaduCrypt
Auto Trait Implementations§
impl !Freeze for XanaduCrypt
impl RefUnwindSafe for XanaduCrypt
impl Send for XanaduCrypt
impl Sync for XanaduCrypt
impl Unpin for XanaduCrypt
impl UnwindSafe for XanaduCrypt
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more