Fixed Cipher::decrypt and added tests for account encryption
This commit is contained in:
		
							
								
								
									
										300
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										300
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							| @@ -29,9 +29,9 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "ahash" | ||||
| version = "0.8.6" | ||||
| version = "0.8.7" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a" | ||||
| checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01" | ||||
| dependencies = [ | ||||
|  "cfg-if", | ||||
|  "getrandom", | ||||
| @@ -57,9 +57,9 @@ checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" | ||||
|  | ||||
| [[package]] | ||||
| name = "anyhow" | ||||
| version = "1.0.75" | ||||
| version = "1.0.79" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" | ||||
| checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca" | ||||
|  | ||||
| [[package]] | ||||
| name = "aquamarine" | ||||
| @@ -122,9 +122,9 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "base64" | ||||
| version = "0.21.5" | ||||
| version = "0.21.7" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" | ||||
| checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" | ||||
|  | ||||
| [[package]] | ||||
| name = "base64ct" | ||||
| @@ -140,9 +140,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" | ||||
|  | ||||
| [[package]] | ||||
| name = "bitflags" | ||||
| version = "2.4.1" | ||||
| version = "2.4.2" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" | ||||
| checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" | ||||
| dependencies = [ | ||||
|  "serde", | ||||
| ] | ||||
| @@ -215,9 +215,9 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "chrono" | ||||
| version = "0.4.31" | ||||
| version = "0.4.33" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" | ||||
| checksum = "9f13690e35a5e4ace198e7beea2895d29f3a9cc55015fcebe6336bd2010af9eb" | ||||
| dependencies = [ | ||||
|  "num-traits", | ||||
| ] | ||||
| @@ -235,9 +235,9 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "const-oid" | ||||
| version = "0.9.5" | ||||
| version = "0.9.6" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f" | ||||
| checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" | ||||
|  | ||||
| [[package]] | ||||
| name = "convert_case" | ||||
| @@ -263,9 +263,9 @@ checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" | ||||
|  | ||||
| [[package]] | ||||
| name = "cpufeatures" | ||||
| version = "0.2.11" | ||||
| version = "0.2.12" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0" | ||||
| checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" | ||||
| dependencies = [ | ||||
|  "libc", | ||||
| ] | ||||
| @@ -287,22 +287,18 @@ checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" | ||||
|  | ||||
| [[package]] | ||||
| name = "crossbeam-queue" | ||||
| version = "0.3.8" | ||||
| version = "0.3.11" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add" | ||||
| checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" | ||||
| dependencies = [ | ||||
|  "cfg-if", | ||||
|  "crossbeam-utils", | ||||
| ] | ||||
|  | ||||
| [[package]] | ||||
| name = "crossbeam-utils" | ||||
| version = "0.8.16" | ||||
| version = "0.8.19" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" | ||||
| dependencies = [ | ||||
|  "cfg-if", | ||||
| ] | ||||
| checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" | ||||
|  | ||||
| [[package]] | ||||
| name = "crypto-common" | ||||
| @@ -320,7 +316,7 @@ name = "cryptography" | ||||
| version = "0.1.0" | ||||
| dependencies = [ | ||||
|  "arrayvec", | ||||
|  "bitflags 2.4.1", | ||||
|  "bitflags 2.4.2", | ||||
|  "chacha20poly1305", | ||||
|  "entity", | ||||
|  "once_cell", | ||||
| @@ -447,9 +443,9 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "env_logger" | ||||
| version = "0.10.1" | ||||
| version = "0.10.2" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "95b3f3e67048839cb0d0781f445682a35113da7121f7c949db0e2be96a4fbece" | ||||
| checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580" | ||||
| dependencies = [ | ||||
|  "humantime", | ||||
|  "is-terminal", | ||||
| @@ -541,9 +537,9 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "futures" | ||||
| version = "0.3.29" | ||||
| version = "0.3.30" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "da0290714b38af9b4a7b094b8a37086d1b4e61f2df9122c3cad2577669145335" | ||||
| checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" | ||||
| dependencies = [ | ||||
|  "futures-channel", | ||||
|  "futures-core", | ||||
| @@ -556,9 +552,9 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "futures-channel" | ||||
| version = "0.3.29" | ||||
| version = "0.3.30" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb" | ||||
| checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" | ||||
| dependencies = [ | ||||
|  "futures-core", | ||||
|  "futures-sink", | ||||
| @@ -566,15 +562,15 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "futures-core" | ||||
| version = "0.3.29" | ||||
| version = "0.3.30" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c" | ||||
| checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" | ||||
|  | ||||
| [[package]] | ||||
| name = "futures-executor" | ||||
| version = "0.3.29" | ||||
| version = "0.3.30" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc" | ||||
| checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" | ||||
| dependencies = [ | ||||
|  "futures-core", | ||||
|  "futures-task", | ||||
| @@ -594,38 +590,38 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "futures-io" | ||||
| version = "0.3.29" | ||||
| version = "0.3.30" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa" | ||||
| checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" | ||||
|  | ||||
| [[package]] | ||||
| name = "futures-macro" | ||||
| version = "0.3.29" | ||||
| version = "0.3.30" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb" | ||||
| checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" | ||||
| dependencies = [ | ||||
|  "proc-macro2", | ||||
|  "quote", | ||||
|  "syn 2.0.39", | ||||
|  "syn 2.0.48", | ||||
| ] | ||||
|  | ||||
| [[package]] | ||||
| name = "futures-sink" | ||||
| version = "0.3.29" | ||||
| version = "0.3.30" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817" | ||||
| checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" | ||||
|  | ||||
| [[package]] | ||||
| name = "futures-task" | ||||
| version = "0.3.29" | ||||
| version = "0.3.30" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2" | ||||
| checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" | ||||
|  | ||||
| [[package]] | ||||
| name = "futures-util" | ||||
| version = "0.3.29" | ||||
| version = "0.3.30" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104" | ||||
| checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" | ||||
| dependencies = [ | ||||
|  "futures-channel", | ||||
|  "futures-core", | ||||
| @@ -651,9 +647,9 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "getrandom" | ||||
| version = "0.2.11" | ||||
| version = "0.2.12" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" | ||||
| checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" | ||||
| dependencies = [ | ||||
|  "cfg-if", | ||||
|  "libc", | ||||
| @@ -668,9 +664,9 @@ checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" | ||||
|  | ||||
| [[package]] | ||||
| name = "h2" | ||||
| version = "0.3.22" | ||||
| version = "0.3.24" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "4d6250322ef6e60f93f9a2162799302cd6f68f79f6e5d85c8c16f14d1d958178" | ||||
| checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9" | ||||
| dependencies = [ | ||||
|  "bytes", | ||||
|  "fnv", | ||||
| @@ -715,9 +711,9 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "hermit-abi" | ||||
| version = "0.3.3" | ||||
| version = "0.3.4" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" | ||||
| checksum = "5d3d0e0f38255e7fa3cf31335b3a56f05febd18025f4db5ef7a0cfb4f8da651f" | ||||
|  | ||||
| [[package]] | ||||
| name = "hex" | ||||
| @@ -727,9 +723,9 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" | ||||
|  | ||||
| [[package]] | ||||
| name = "hkdf" | ||||
| version = "0.12.3" | ||||
| version = "0.12.4" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437" | ||||
| checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" | ||||
| dependencies = [ | ||||
|  "hmac", | ||||
| ] | ||||
| @@ -745,11 +741,11 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "home" | ||||
| version = "0.5.5" | ||||
| version = "0.5.9" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb" | ||||
| checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" | ||||
| dependencies = [ | ||||
|  "windows-sys 0.48.0", | ||||
|  "windows-sys 0.52.0", | ||||
| ] | ||||
|  | ||||
| [[package]] | ||||
| @@ -794,9 +790,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" | ||||
|  | ||||
| [[package]] | ||||
| name = "hyper" | ||||
| version = "0.14.27" | ||||
| version = "0.14.28" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" | ||||
| checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" | ||||
| dependencies = [ | ||||
|  "bytes", | ||||
|  "futures-channel", | ||||
| @@ -809,7 +805,7 @@ dependencies = [ | ||||
|  "httpdate", | ||||
|  "itoa", | ||||
|  "pin-project-lite", | ||||
|  "socket2 0.4.10", | ||||
|  "socket2", | ||||
|  "tokio", | ||||
|  "tower-service", | ||||
|  "tracing", | ||||
| @@ -873,13 +869,13 @@ checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" | ||||
|  | ||||
| [[package]] | ||||
| name = "is-terminal" | ||||
| version = "0.4.9" | ||||
| version = "0.4.10" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" | ||||
| checksum = "0bad00257d07be169d870ab665980b06cdb366d792ad690bf2e76876dc503455" | ||||
| dependencies = [ | ||||
|  "hermit-abi", | ||||
|  "rustix", | ||||
|  "windows-sys 0.48.0", | ||||
|  "windows-sys 0.52.0", | ||||
| ] | ||||
|  | ||||
| [[package]] | ||||
| @@ -908,9 +904,9 @@ checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" | ||||
|  | ||||
| [[package]] | ||||
| name = "js-sys" | ||||
| version = "0.3.66" | ||||
| version = "0.3.67" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca" | ||||
| checksum = "9a1d36f1235bc969acba30b7f5990b864423a6068a10f7c90ae8f0112e3a59d1" | ||||
| dependencies = [ | ||||
|  "wasm-bindgen", | ||||
| ] | ||||
| @@ -926,9 +922,9 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "libc" | ||||
| version = "0.2.150" | ||||
| version = "0.2.152" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" | ||||
| checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" | ||||
|  | ||||
| [[package]] | ||||
| name = "libm" | ||||
| @@ -949,9 +945,9 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "linux-raw-sys" | ||||
| version = "0.4.12" | ||||
| version = "0.4.13" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456" | ||||
| checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" | ||||
|  | ||||
| [[package]] | ||||
| name = "lock_api" | ||||
| @@ -981,9 +977,9 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "memchr" | ||||
| version = "2.6.4" | ||||
| version = "2.7.1" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" | ||||
| checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" | ||||
|  | ||||
| [[package]] | ||||
| name = "mime" | ||||
| @@ -1039,7 +1035,7 @@ version = "0.27.1" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" | ||||
| dependencies = [ | ||||
|  "bitflags 2.4.1", | ||||
|  "bitflags 2.4.2", | ||||
|  "cfg-if", | ||||
|  "libc", | ||||
| ] | ||||
| @@ -1114,9 +1110,9 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "object" | ||||
| version = "0.32.1" | ||||
| version = "0.32.2" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" | ||||
| checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" | ||||
| dependencies = [ | ||||
|  "memchr", | ||||
| ] | ||||
| @@ -1227,22 +1223,22 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" | ||||
|  | ||||
| [[package]] | ||||
| name = "pin-project" | ||||
| version = "1.1.3" | ||||
| version = "1.1.4" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" | ||||
| checksum = "0302c4a0442c456bd56f841aee5c3bfd17967563f6fadc9ceb9f9c23cf3807e0" | ||||
| dependencies = [ | ||||
|  "pin-project-internal", | ||||
| ] | ||||
|  | ||||
| [[package]] | ||||
| name = "pin-project-internal" | ||||
| version = "1.1.3" | ||||
| version = "1.1.4" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" | ||||
| checksum = "266c042b60c9c76b8d53061e52b2e0d1116abc57cefc8c5cd671619a56ac3690" | ||||
| dependencies = [ | ||||
|  "proc-macro2", | ||||
|  "quote", | ||||
|  "syn 2.0.39", | ||||
|  "syn 2.0.48", | ||||
| ] | ||||
|  | ||||
| [[package]] | ||||
| @@ -1280,9 +1276,9 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "pkg-config" | ||||
| version = "0.3.27" | ||||
| version = "0.3.29" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" | ||||
| checksum = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb" | ||||
|  | ||||
| [[package]] | ||||
| name = "poly1305" | ||||
| @@ -1337,18 +1333,18 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "proc-macro2" | ||||
| version = "1.0.70" | ||||
| version = "1.0.78" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b" | ||||
| checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" | ||||
| dependencies = [ | ||||
|  "unicode-ident", | ||||
| ] | ||||
|  | ||||
| [[package]] | ||||
| name = "quote" | ||||
| version = "1.0.33" | ||||
| version = "1.0.35" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" | ||||
| checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" | ||||
| dependencies = [ | ||||
|  "proc-macro2", | ||||
| ] | ||||
| @@ -1403,9 +1399,9 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "regex" | ||||
| version = "1.10.2" | ||||
| version = "1.10.3" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" | ||||
| checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15" | ||||
| dependencies = [ | ||||
|  "aho-corasick", | ||||
|  "memchr", | ||||
| @@ -1415,9 +1411,9 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "regex-automata" | ||||
| version = "0.4.3" | ||||
| version = "0.4.5" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" | ||||
| checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd" | ||||
| dependencies = [ | ||||
|  "aho-corasick", | ||||
|  "memchr", | ||||
| @@ -1432,9 +1428,9 @@ checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" | ||||
|  | ||||
| [[package]] | ||||
| name = "reqwest" | ||||
| version = "0.11.22" | ||||
| version = "0.11.23" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b" | ||||
| checksum = "37b1ae8d9ac08420c66222fb9096fc5de435c3c48542bc5336c51892cffafb41" | ||||
| dependencies = [ | ||||
|  "base64", | ||||
|  "bytes", | ||||
| @@ -1524,11 +1520,11 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "rustix" | ||||
| version = "0.38.28" | ||||
| version = "0.38.30" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316" | ||||
| checksum = "322394588aaf33c24007e8bb3238ee3e4c5c09c084ab32bc73890b99ff326bca" | ||||
| dependencies = [ | ||||
|  "bitflags 2.4.1", | ||||
|  "bitflags 2.4.2", | ||||
|  "errno", | ||||
|  "libc", | ||||
|  "linux-raw-sys", | ||||
| @@ -1611,35 +1607,35 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "semver" | ||||
| version = "1.0.20" | ||||
| version = "1.0.21" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" | ||||
| checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0" | ||||
|  | ||||
| [[package]] | ||||
| name = "serde" | ||||
| version = "1.0.193" | ||||
| version = "1.0.196" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89" | ||||
| checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32" | ||||
| dependencies = [ | ||||
|  "serde_derive", | ||||
| ] | ||||
|  | ||||
| [[package]] | ||||
| name = "serde_derive" | ||||
| version = "1.0.193" | ||||
| version = "1.0.196" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3" | ||||
| checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67" | ||||
| dependencies = [ | ||||
|  "proc-macro2", | ||||
|  "quote", | ||||
|  "syn 2.0.39", | ||||
|  "syn 2.0.48", | ||||
| ] | ||||
|  | ||||
| [[package]] | ||||
| name = "serde_json" | ||||
| version = "1.0.108" | ||||
| version = "1.0.112" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" | ||||
| checksum = "4d1bd37ce2324cf3bf85e5a25f96eb4baf0d5aa6eba43e7ae8958870c4ec48ed" | ||||
| dependencies = [ | ||||
|  "itoa", | ||||
|  "ryu", | ||||
| @@ -1722,19 +1718,9 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "smallvec" | ||||
| version = "1.11.2" | ||||
| version = "1.13.1" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" | ||||
|  | ||||
| [[package]] | ||||
| name = "socket2" | ||||
| version = "0.4.10" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" | ||||
| dependencies = [ | ||||
|  "libc", | ||||
|  "winapi", | ||||
| ] | ||||
| checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" | ||||
|  | ||||
| [[package]] | ||||
| name = "socket2" | ||||
| @@ -1885,7 +1871,7 @@ checksum = "e37195395df71fd068f6e2082247891bc11e3289624bbc776a0cdfa1ca7f1ea4" | ||||
| dependencies = [ | ||||
|  "atoi", | ||||
|  "base64", | ||||
|  "bitflags 2.4.1", | ||||
|  "bitflags 2.4.2", | ||||
|  "byteorder", | ||||
|  "bytes", | ||||
|  "crc", | ||||
| @@ -1927,7 +1913,7 @@ checksum = "d6ac0ac3b7ccd10cc96c7ab29791a7dd236bd94021f31eec7ba3d46a74aa1c24" | ||||
| dependencies = [ | ||||
|  "atoi", | ||||
|  "base64", | ||||
|  "bitflags 2.4.1", | ||||
|  "bitflags 2.4.2", | ||||
|  "byteorder", | ||||
|  "crc", | ||||
|  "dotenvy", | ||||
| @@ -2017,9 +2003,9 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "syn" | ||||
| version = "2.0.39" | ||||
| version = "2.0.48" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a" | ||||
| checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" | ||||
| dependencies = [ | ||||
|  "proc-macro2", | ||||
|  "quote", | ||||
| @@ -2131,44 +2117,44 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "tempfile" | ||||
| version = "3.8.1" | ||||
| version = "3.9.0" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5" | ||||
| checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa" | ||||
| dependencies = [ | ||||
|  "cfg-if", | ||||
|  "fastrand", | ||||
|  "redox_syscall", | ||||
|  "rustix", | ||||
|  "windows-sys 0.48.0", | ||||
|  "windows-sys 0.52.0", | ||||
| ] | ||||
|  | ||||
| [[package]] | ||||
| name = "termcolor" | ||||
| version = "1.4.0" | ||||
| version = "1.4.1" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449" | ||||
| checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" | ||||
| dependencies = [ | ||||
|  "winapi-util", | ||||
| ] | ||||
|  | ||||
| [[package]] | ||||
| name = "thiserror" | ||||
| version = "1.0.50" | ||||
| version = "1.0.56" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" | ||||
| checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad" | ||||
| dependencies = [ | ||||
|  "thiserror-impl", | ||||
| ] | ||||
|  | ||||
| [[package]] | ||||
| name = "thiserror-impl" | ||||
| version = "1.0.50" | ||||
| version = "1.0.56" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" | ||||
| checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471" | ||||
| dependencies = [ | ||||
|  "proc-macro2", | ||||
|  "quote", | ||||
|  "syn 2.0.39", | ||||
|  "syn 2.0.48", | ||||
| ] | ||||
|  | ||||
| [[package]] | ||||
| @@ -2188,9 +2174,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" | ||||
|  | ||||
| [[package]] | ||||
| name = "tokio" | ||||
| version = "1.35.0" | ||||
| version = "1.35.1" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "841d45b238a16291a4e1584e61820b8ae57d696cc5015c459c229ccc6990cc1c" | ||||
| checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104" | ||||
| dependencies = [ | ||||
|  "backtrace", | ||||
|  "bytes", | ||||
| @@ -2199,7 +2185,7 @@ dependencies = [ | ||||
|  "num_cpus", | ||||
|  "pin-project-lite", | ||||
|  "signal-hook-registry", | ||||
|  "socket2 0.5.5", | ||||
|  "socket2", | ||||
|  "tokio-macros", | ||||
|  "windows-sys 0.48.0", | ||||
| ] | ||||
| @@ -2212,7 +2198,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" | ||||
| dependencies = [ | ||||
|  "proc-macro2", | ||||
|  "quote", | ||||
|  "syn 2.0.39", | ||||
|  "syn 2.0.48", | ||||
| ] | ||||
|  | ||||
| [[package]] | ||||
| @@ -2276,7 +2262,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" | ||||
| dependencies = [ | ||||
|  "proc-macro2", | ||||
|  "quote", | ||||
|  "syn 2.0.39", | ||||
|  "syn 2.0.48", | ||||
| ] | ||||
|  | ||||
| [[package]] | ||||
| @@ -2317,9 +2303,9 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "unicode-bidi" | ||||
| version = "0.3.14" | ||||
| version = "0.3.15" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416" | ||||
| checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" | ||||
|  | ||||
| [[package]] | ||||
| name = "unicode-ident" | ||||
| @@ -2384,9 +2370,9 @@ checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" | ||||
|  | ||||
| [[package]] | ||||
| name = "uuid" | ||||
| version = "1.6.1" | ||||
| version = "1.7.0" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560" | ||||
| checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a" | ||||
| dependencies = [ | ||||
|  "getrandom", | ||||
| ] | ||||
| @@ -2426,9 +2412,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" | ||||
|  | ||||
| [[package]] | ||||
| name = "wasm-bindgen" | ||||
| version = "0.2.89" | ||||
| version = "0.2.90" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e" | ||||
| checksum = "b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406" | ||||
| dependencies = [ | ||||
|  "cfg-if", | ||||
|  "wasm-bindgen-macro", | ||||
| @@ -2436,24 +2422,24 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "wasm-bindgen-backend" | ||||
| version = "0.2.89" | ||||
| version = "0.2.90" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826" | ||||
| checksum = "fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd" | ||||
| dependencies = [ | ||||
|  "bumpalo", | ||||
|  "log", | ||||
|  "once_cell", | ||||
|  "proc-macro2", | ||||
|  "quote", | ||||
|  "syn 2.0.39", | ||||
|  "syn 2.0.48", | ||||
|  "wasm-bindgen-shared", | ||||
| ] | ||||
|  | ||||
| [[package]] | ||||
| name = "wasm-bindgen-futures" | ||||
| version = "0.4.39" | ||||
| version = "0.4.40" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "ac36a15a220124ac510204aec1c3e5db8a22ab06fd6706d881dc6149f8ed9a12" | ||||
| checksum = "bde2032aeb86bdfaecc8b261eef3cba735cc426c1f3a3416d1e0791be95fc461" | ||||
| dependencies = [ | ||||
|  "cfg-if", | ||||
|  "js-sys", | ||||
| @@ -2463,9 +2449,9 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "wasm-bindgen-macro" | ||||
| version = "0.2.89" | ||||
| version = "0.2.90" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2" | ||||
| checksum = "3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999" | ||||
| dependencies = [ | ||||
|  "quote", | ||||
|  "wasm-bindgen-macro-support", | ||||
| @@ -2473,22 +2459,22 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "wasm-bindgen-macro-support" | ||||
| version = "0.2.89" | ||||
| version = "0.2.90" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283" | ||||
| checksum = "bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7" | ||||
| dependencies = [ | ||||
|  "proc-macro2", | ||||
|  "quote", | ||||
|  "syn 2.0.39", | ||||
|  "syn 2.0.48", | ||||
|  "wasm-bindgen-backend", | ||||
|  "wasm-bindgen-shared", | ||||
| ] | ||||
|  | ||||
| [[package]] | ||||
| name = "wasm-bindgen-shared" | ||||
| version = "0.2.89" | ||||
| version = "0.2.90" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f" | ||||
| checksum = "4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b" | ||||
|  | ||||
| [[package]] | ||||
| name = "wasm-streams" | ||||
| @@ -2505,9 +2491,9 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "web-sys" | ||||
| version = "0.3.66" | ||||
| version = "0.3.67" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "50c24a44ec86bb68fbecd1b3efed7e85ea5621b39b35ef2766b66cd984f8010f" | ||||
| checksum = "58cd2333b6e0be7a39605f0e255892fd7418a682d8da8fe042fe25128794d2ed" | ||||
| dependencies = [ | ||||
|  "js-sys", | ||||
|  "wasm-bindgen", | ||||
| @@ -2700,22 +2686,22 @@ dependencies = [ | ||||
|  | ||||
| [[package]] | ||||
| name = "zerocopy" | ||||
| version = "0.7.30" | ||||
| version = "0.7.32" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "306dca4455518f1f31635ec308b6b3e4eb1b11758cefafc782827d0aa7acb5c7" | ||||
| checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" | ||||
| dependencies = [ | ||||
|  "zerocopy-derive", | ||||
| ] | ||||
|  | ||||
| [[package]] | ||||
| name = "zerocopy-derive" | ||||
| version = "0.7.30" | ||||
| version = "0.7.32" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "be912bf68235a88fbefd1b73415cb218405958d1655b2ece9035a19920bdf6ba" | ||||
| checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" | ||||
| dependencies = [ | ||||
|  "proc-macro2", | ||||
|  "quote", | ||||
|  "syn 2.0.39", | ||||
|  "syn 2.0.48", | ||||
| ] | ||||
|  | ||||
| [[package]] | ||||
|   | ||||
| @@ -22,7 +22,7 @@ nursery = "warn" | ||||
| workspace = true | ||||
|  | ||||
| [dependencies] | ||||
| ahash = "0.8.3" | ||||
| ahash = "0.8" | ||||
| anyhow = "1" | ||||
| arrayvec = "0.7" | ||||
| base64 = "0.21" | ||||
|   | ||||
							
								
								
									
										2
									
								
								LICENSE
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								LICENSE
									
									
									
									
									
								
							| @@ -1,4 +1,4 @@ | ||||
| Copyright 2023 Stepanov Nicolay | ||||
| Copyright 2024 Stepanov Nicolay | ||||
|  | ||||
| Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: | ||||
|  | ||||
|   | ||||
| @@ -35,10 +35,12 @@ impl Cipher { | ||||
|     /// | ||||
|     /// Returns an error if the tag doesn't match the ciphertext | ||||
|     #[inline] | ||||
|     #[allow(clippy::missing_panics_doc)] | ||||
|     pub fn decrypt(&self, value: &mut Vec<u8>) -> crate::Result<()> { | ||||
|         let nonce: [u8; 12] = value[value.len() - 12..] | ||||
|             .try_into() | ||||
|             .map_err(|_| crate::Error::InvalidInputLength)?; | ||||
|         if value.len() <= 12 { | ||||
|             return Err(crate::Error::InvalidInputLength); | ||||
|         } | ||||
|         let nonce: [u8; 12] = value[value.len() - 12..].try_into().unwrap(); | ||||
|         value.truncate(value.len() - 12); | ||||
|  | ||||
|         self.chacha | ||||
| @@ -47,7 +49,7 @@ impl Cipher { | ||||
|     } | ||||
| } | ||||
|  | ||||
| #[derive(serde::Serialize, serde::Deserialize)] | ||||
| #[derive(serde::Serialize, serde::Deserialize, Clone, PartialEq, Eq, Debug)] | ||||
| pub struct Decrypted { | ||||
|     pub name: String, | ||||
|     pub login: String, | ||||
| @@ -108,3 +110,54 @@ impl Decrypted { | ||||
|         .all(super::validate_field) | ||||
|     } | ||||
| } | ||||
|  | ||||
| #[cfg(test)] | ||||
| mod tests { | ||||
|     use super::*; | ||||
|     use once_cell::sync::Lazy; | ||||
|  | ||||
|     const TESTING_MASTER_PASSWORD: &str = "VeryStr^n#M@$terP@$$!word"; | ||||
|     static CIPHER: Lazy<Cipher> = Lazy::new(|| { | ||||
|         let mut salt = [0; 64]; | ||||
|         OsRng.fill_bytes(&mut salt); | ||||
|  | ||||
|         Cipher::new(TESTING_MASTER_PASSWORD.as_bytes(), &salt) | ||||
|     }); | ||||
|  | ||||
|     #[test] | ||||
|     fn cipher_test() -> crate::Result<()> { | ||||
|         const ORIGINAL: &[u8] = b"Data to protect"; | ||||
|         let mut data = ORIGINAL.to_owned(); | ||||
|  | ||||
|         CIPHER.encrypt(&mut data); | ||||
|         CIPHER.decrypt(&mut data)?; | ||||
|  | ||||
|         assert_eq!(ORIGINAL, data); | ||||
|  | ||||
|         Ok(()) | ||||
|     } | ||||
|  | ||||
|     #[test] | ||||
|     fn account_encryption() -> crate::Result<()> { | ||||
|         let original = Decrypted { | ||||
|             name: "Account Name".into(), | ||||
|             login: "StrongLogin@mail.com".into(), | ||||
|             password: "StrongP@$$word!".into(), | ||||
|         }; | ||||
|         let account = original.clone().into_account(1, TESTING_MASTER_PASSWORD); | ||||
|         let decrypted = Decrypted::from_account(account, TESTING_MASTER_PASSWORD)?; | ||||
|  | ||||
|         assert_eq!(original, decrypted); | ||||
|         Ok(()) | ||||
|     } | ||||
|  | ||||
|     #[test] | ||||
|     fn decrypt_invalid_input_length() { | ||||
|         let mut bytes = vec![0]; | ||||
|  | ||||
|         assert!(matches!( | ||||
|             CIPHER.decrypt(&mut bytes), | ||||
|             Err(crate::Error::InvalidInputLength) | ||||
|         )); | ||||
|     } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user