MCPcopy Index your code
hub / github.com/Recordscript/recordscript / test

Function test

libs/hbb_common/src/password_security.rs:193–294  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

191
192 #[test]
193 fn test() {
194 use super::*;
195 use rand::{thread_rng, Rng};
196 use std::time::Instant;
197
198 let version = "00";
199 let max_len = 128;
200
201 println!("test str");
202 let data = "1ü1111";
203 let encrypted = encrypt_str_or_original(data, version, max_len);
204 let (decrypted, succ, store) = decrypt_str_or_original(&encrypted, version);
205 println!("data: {data}");
206 println!("encrypted: {encrypted}");
207 println!("decrypted: {decrypted}");
208 assert_eq!(data, decrypted);
209 assert_eq!(version, &encrypted[..2]);
210 assert!(succ);
211 assert!(!store);
212 let (_, _, store) = decrypt_str_or_original(&encrypted, "99");
213 assert!(store);
214 assert!(!decrypt_str_or_original(&decrypted, version).1);
215 assert_eq!(
216 encrypt_str_or_original(&encrypted, version, max_len),
217 encrypted
218 );
219
220 println!("test vec");
221 let data: Vec<u8> = "1ü1111".as_bytes().to_vec();
222 let encrypted = encrypt_vec_or_original(&data, version, max_len);
223 let (decrypted, succ, store) = decrypt_vec_or_original(&encrypted, version);
224 println!("data: {data:?}");
225 println!("encrypted: {encrypted:?}");
226 println!("decrypted: {decrypted:?}");
227 assert_eq!(data, decrypted);
228 assert_eq!(version.as_bytes(), &encrypted[..2]);
229 assert!(!store);
230 assert!(succ);
231 let (_, _, store) = decrypt_vec_or_original(&encrypted, "99");
232 assert!(store);
233 assert!(!decrypt_vec_or_original(&decrypted, version).1);
234 assert_eq!(
235 encrypt_vec_or_original(&encrypted, version, max_len),
236 encrypted
237 );
238
239 println!("test original");
240 let data = version.to_string() + "Hello World";
241 let (decrypted, succ, store) = decrypt_str_or_original(&data, version);
242 assert_eq!(data, decrypted);
243 assert!(store);
244 assert!(!succ);
245 let verbytes = version.as_bytes();
246 let data: Vec<u8> = vec![verbytes[0], verbytes[1], 1, 2, 3, 4, 5, 6];
247 let (decrypted, succ, store) = decrypt_vec_or_original(&data, version);
248 assert_eq!(data, decrypted);
249 assert!(store);
250 assert!(!succ);

Callers

nothing calls this directly

Calls 5

encrypt_str_or_originalFunction · 0.85
decrypt_str_or_originalFunction · 0.85
encrypt_vec_or_originalFunction · 0.85
decrypt_vec_or_originalFunction · 0.85
to_stringMethod · 0.80

Tested by

no test coverage detected