반응형
PL/SQL에 해시 함수가 있습니까?
저는 varchar의 해시를 얻기 위해 PL/SQL에서 해시 함수를 찾고 있습니다.오라클 10에서 dbms_crypto라는 패키지를 찾았는데 dbms_crypto 함수가 있습니다.hash와 심지어 다른 패키지 dbms_sqlhash.getHash도 있지만, 그들에게 전화를 걸었지만, 그들을 찾을 수 없다는 메시지가 왔습니다.
그들을 어떻게 불러야 하는지 아는 사람?다른 소포는 없습니까?
내 코드는 여기 있습니다.
DECLARE
l_textToHash VARCHAR2(19) := 'toto123';
l_ccn_raw RAW(128) := utl_raw.cast_to_raw(l_textToHash);
l_encrypted_raw RAW(2048);
BEGIN
dbms_output.put_line('CC: ' || l_ccn_raw);
l_encrypted_raw := dbms_crypto.hash(l_ccn_raw, 3);
dbms_output.put_line('SH1: ' || l_encrypted_raw);
END;
/
여기 메시지가 있습니다.
Error starting at line 1 in command:
DECLARE
l_textToHash VARCHAR2(19) := 'toto123';
l_ccn_raw RAW(128) := utl_raw.cast_to_raw(l_textToHash);
l_encrypted_raw RAW(2048);
BEGIN
dbms_output.put_line('CC: ' || l_ccn_raw);
l_encrypted_raw := dbms_crypto.hash(l_ccn_raw, 3);
dbms_output.put_line('SH1: ' || l_encrypted_raw);
END;
Error report:
ORA-06550: line 7, column 22:
PLS-00201: identifier 'DBMS_CRYPTO' must be declared
ORA-06550: line 7, column 3:
PL/SQL: Statement ignored
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action:
감사합니다!
해시를 생성하려는 이유에 따라 내장 함수 ORA_해시(HASH)로 충분할 수 있습니다.
SQL> select ora_hash( 'fuzzy bunny' ) from dual;
ORA_HASH('FUZZYBUNNY')
----------------------
2519249214
암호학적으로 안전한 해시 함수가 필요하다면 저는 이것을 사용하려고 하지 않을 것입니다.하지만 간단한 해시만 있으면 충분합니다.
오라클 12c에서는 STANDARD_라는 함수를 사용할 수 있습니다.해시.
Oracle 11g 이하에서는 연결 중인 사용자에게 부여된 적절한 권한이 있는지 확인합니다.DBA와 상의하여 SYS에 대한 실행 권한을 추가합니다.DBMS_CRIPTO 패키지.
오라클은 오라클 데이터베이스를 사용하여 해시 및 암호화된 데이터를 처리하는 방법에 대한 유용한 가이드를 제공합니다.
DBMS_CRIPto를 지원하지 않는 이전 버전의 데이터베이스에 있는 경우 DBMS_OBFUSCATION_TOOLkit을 사용해 볼 수도 있습니다.
언급URL : https://stackoverflow.com/questions/5595774/is-there-any-hash-function-in-pl-sql
반응형
'source' 카테고리의 다른 글
추가 기능을 사용자 지정할 수 있도록 .ppam 파일 (0) | 2023.10.01 |
---|---|
wo commerce in word press return 항상 단순한 제품 유형 (0) | 2023.10.01 |
클래스 또는 구조 내에서 스레드 로컬 변수를 사용할 수 있습니까? (0) | 2023.10.01 |
CSS에서 자녀에게 부모의 곡선 경계선을 지키도록 강요 (0) | 2023.10.01 |
"네트워크 서비스" 계정을 위해 파워셸에서 윈도우 서비스를 만드는 방법은? (0) | 2023.10.01 |